Scalaの型パラメータの変位指定
1. まず Top (型の最大元) が Any,Bottom (型の最小元) が Nothing であることを覚えます
(Any, Nothing は Scala の文脈。TypeScript であれば any, never で考えましょう)
2. つまり、任意の型 T に対して順序関係 Bottom ≦ T ≦ Top が成り立ちます
3. 型の代入可能性という意味では、X ≦ Y のとき、X は Y に対して代入ができます (順序の大きい方へ代入できる)
4. +T とは、この順序関係を維持する記法なので、代入可能性は通常通りです
5. 対して -T とは、この順序関係を反転する記法なので、代入可能性が逆転します
⇒ つまり、任意の型 T に対して順序関係を Top ≦ T ≦ Bottom と見なすということ