public void CallReturnM2WithValueTypeGenericInstantiation(GenericTarget <CallerT1, CallerT2> target, CallerT1 input1, StructContainer <Exception> input2)
 {
     target.ReturnM2 <CallerT1, StructContainer <Exception> >(input1, input2);
 }
 public void CallReturnM2WithReferenceTypeGenericInstantiation(GenericTarget <CallerT1, CallerT2> target, CallerT1 input1, Task <Exception> input2)
 {
     target.ReturnM2 <CallerT1, Task <Exception> >(input1, input2);
 }
 public void CallReturnM2WithStruct(GenericTarget <CallerT1, CallerT2> target, CallerT1 input1, PointStruct input2)
 {
     target.ReturnM2 <CallerT1, PointStruct>(input1, input2);
 }
 public void CallReturnM2WithClass(GenericTarget <CallerT1, CallerT2> target, CallerT1 input1, Exception input2)
 {
     target.ReturnM2 <CallerT1, Exception>(input1, input2);
 }
 public void CallReturnM2WithCallerTypeArgsReversed(GenericTarget <CallerT1, CallerT2> target, CallerT1 input1, CallerT2 input2)
 {
     target.ReturnM2 <CallerT2, CallerT1>(input2, input1);
 }
 public void CallReturnM2WithCallerTypeArgs(GenericTarget <CallerT1, CallerT2> target, CallerT1 input1, CallerT2 input2)
 {
     target.ReturnM2 <CallerT1, CallerT2>(input1, input2);
 }