pub fn bounded(sub: Type, sup: Type) -> Type