public static MonadOr <TResult> Join <TSource, TInner, TKey, TResult>( this MonadOr <TSource> @this, MonadOr <TInner> inner, Func <TSource, TKey> outerKeySelector, Func <TInner, TKey> innerKeySelector, Func <TSource, TInner, TResult> resultSelector) => @this.Join( inner, outerKeySelector, innerKeySelector, resultSelector, null);