A little bit of refactoring in DataType, and some more testing