pub fn poly<S: Into<Str>>(name: S, params: Vec<TyParam>) -> Type