public static IEnumerable <JoinResult <Datum, bool, Option <Datum> > > FullJoin(SetDatum left, DictionaryDatum right) { SetDatum keys = SetDatum.Union(left, right.Keys); return(keys.Select(k => new JoinResult <Datum, bool, Option <Datum> >(k, left.Contains(k), right.TryGet(k)))); }
public static IEnumerable <JoinResult <Datum, bool, bool> > FullJoin(SetDatum left, SetDatum right) { SetDatum keys = SetDatum.Union(left, right); return(keys.Select(k => new JoinResult <Datum, bool, bool>(k, left.Contains(k), right.Contains(k)))); }