bounds for type variables