scalaz
The first type that M was applied to
M
The second type that M was applied to
The type constructor
The instance of the type class
Evidence that MAB =:= M[A, B]
Compatibility.