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