scala> :kind scala.Option scala.Option's kind is F[+A] scala> :k (Int, Int) => Int scala.Function2's kind is F[-A1,-A2,+A3] scala> :k -v Either scala.util.Either's kind is F[+A1,+A2] * -(+)-> * -(+)-> * This is a type constructor: a 1st-order-kinded type. scala> :k -v scala.collection.generic.ImmutableSortedMapFactory scala.collection.generic.ImmutableSortedMapFactory's kind is X[CC[A,B] <: scala.collection.immutable.SortedMap[A,B] with scala.collection.SortedMapLike[A,B,CC[A,B]]] (* -> * -> *(scala.collection.immutable.SortedMap[A,B] with scala.collection.SortedMapLike[A,B,CC[A,B]])) -> * This is a type constructor that takes type constructor(s): a higher-kinded type. scala> :k new { def empty = false } AnyRef{def empty: Boolean}'s kind is A scala> :k Nonexisting :12: error: not found: value Nonexisting Nonexisting ^ scala> :quit