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