internal ResultMatcherWithElse(MatchFunctionSelector <T1, TResult> selector, DelegateFunc <T1, TResult> elseAction, T1 value)
 {
     _selector   = selector;
     _elseAction = elseAction;
     _value      = value;
 }
 internal ResultMatcher(T1 item)
 {
     _item             = item;
     _functionSelector = new MatchFunctionSelector <T1, TResult>(
         x => { throw new NoMatchException($"No match action exists for value of {_item}"); });
 }