public ContractOperation(string name, Type from, Type to, MethodInfo method,
                          MethodType methodType, ContextKind contextKind, ResultKind resultKind, VoidKind @void)
 {
     Name       = name;
     From       = from;
     To         = to;
     Method     = method;
     MethodType = methodType;
     Context    = contextKind;
     Result     = resultKind;
     Void       = @void;
 }
 internal static bool TryGetValue(MethodType MethodType, ContextKind Context, ResultKind Result, VoidKind Void, out Func <MethodInfo, Expression[], Expression>?invoker)
 => _invokers.TryGetValue((MethodType, Context, Result, Void), out invoker);