use simple name for type variables and get rid of the unnecessary limit