clean concepts in GenericBuilder and superOf method