I see from Scala hierarchy that AnyVal is super type for scala.Unit, Boolean, Char and other Number types.
scala> val list1 = List((), 1 )
list: List[AnyVal] = List((), 1) // I see this is valid when compared with hierarchy tree.
scala> val list2 = List(Unit, 1 )
list: List[Any] = List(object scala.Unit, 1) // Why???
I see list1 is of type AnyVal where as list2 is of type Any, even though they have same data (I assume).
Is () not same as Scala.Unit? What am I missing here?