instances of subtypes of BaseType will now all have individual ids, dependent on the IDGenerator providing unique IDs