If the only way to define type is via String representation of Puppet Type (or simple data types given as Ruby String, Integer, etc.) we should improve the parser, and it should probably be a singleton. (Nothing to change right here, or even now).