GHC.Generics
data
Unit
data
a
:+:
b
data
a
:*:
b