public My1(IA <B> lessDerivedTemplateParameter) { // This is totally legal var someB = lessDerivedTemplateParameter.GetSome(); }