make-generic-type