generated at
関数の返り値は共変
関数の返り値はcovariant

S <: T という関係の型 S , T がある時、
() -> S <: () -> T とする