Int, you know that
1is a value
String, you know that "hello" is a value
Option[Int], you know that
Option, option of what?
Option[Int], then you know
* -> *
* -> *because it takes a concrete type (i.e. a type of kind
*, e.g. Int), and returns another concrete type (i.e. a type of kind
* -> *is like a function taking a type as an argument and returning a type?
Type -> Type
(* -> *) -> *