if you are really concerned with size you could also put each data type in it's own module/library. That probably makes more sense than splitting core and syntax. If you're using a data type you probably want all the convenience functions too but chances are you won't use all the other data types that come with core