public static Option <CommandSubmission> Submit(this ICommandPatternSystem CPS, ICommandSpec Command, SystemNode DstNode, CorrelationToken?ct) => CPS.Submit(array(Command), DstNode, ct).Map(x => x.FirstOrDefault());
public static Option <CommandSubmission <TSpec> > Submit <TSpec>(this ICommandPatternSystem CPS, TSpec Command, SystemNode DstNode, CorrelationToken?ct) where TSpec : CommandSpec <TSpec>, new() => CPS.Submit(array(Command), DstNode, ct).Map(x => x.FirstOrDefault());