pub fn subr_t( kind: SubrKind, non_default_params: Vec<ParamTy>, var_params: Option<ParamTy>, default_params: Vec<ParamTy>, return_t: Type) -> Type