data Tdef
= Data Tcon [Tbind] [Cdef]
- | Newtype Tcon [Tbind] Ty
+ | Newtype Tcon [Tbind] (Maybe Ty)
data Cdef
= Constr Dcon [Tbind] [Ty]
| Case Exp Vbind [Alt] {- non-empty list -}
| Coerce Ty Exp
| Note String Exp
- | Ccall String Ty
+ | External String Ty
data Bind
= Vb Vbind