genericity for units and generating ids