Datatypes

@marmbrus please review: I believe it is missing long, enum and union of type Seq(t1) where t1 is not null.