anchor.diff:                  t.ContinueWith (continuation, cancellationToken, TaskContinuationOptions.ExecuteSynchronously, TaskScheduler.Default) |> ignore)
               tcs.Task
   
  -
  +    #endif
       type Async<'t> with
   
           /// Combine all asyncs in one, chaining them in sequence order.
  
positive.code:         for KeyValue(k, v') in source2 do d.[k] <- match d.TryGetValue k with true, v -> f.Invoke (v, v') | _ -> v'
          d :> IReadOnlyDictionary<'Key,'Value>
  
      /// Returns the union of two dictionaries, preferring values from the first in case of duplicate keys.
      let union (source: IReadOnlyDictionary<'Key, 'T>) (altSource: IReadOnlyDictionary<'Key, 'T>) = 
          Enumerable
  
negative.code:     /// Returns the intersection of two readonly dictionaries, preferring values from the first in case of duplicate keys.
      let intersect (source1:IReadOnlyDictionary<'Key, 'T>) (source2:IReadOnlyDictionary<'Key, 'T>) = 
          intersectWith (fun a _ -> a) source1 source2
      #endif
  
  
  #if FABLE_COMPILER
  #else
  /// Additional operations on IEnumerator
  [<RequireQualifiedAccess>]
  module Enumerator =
  