Added ground_ty separation in types module -- easier reading as a result. Modified Source->NF pass to include type information as well, which is necessary for cases like "[||] : ('a,'b) array", since they require type information to produce the correct NFA_Tup nodes.