anchor.diff:      | _ -> None
   
     [<Extension>]
  -  let TryFind (d: IDictionary<_,_>, key) = tryFind key d
  +  let TryFind (d, key) = tryFind key d
   
   [<Extension>]
   type AsyncExtensions =
       [<Extension>]
       static member SelectMany (o, f: Func<_,_>, mapper: Func<_,_,_>) =
  -      let mapper = Async.map2 (fun a b -> mapper.Invoke(a,b))
  +      let mapper = Async.map2 (curry mapper.Invoke)
         let v = Async.bind f.Invoke o
         mapper o v
   
  
positive.code: 
      [<Extension>]
      static member SelectMany (o, f: Func<_,_>, mapper: Func<_,_,_>) =
        let mapper = Option.map2 (fun a b -> mapper.Invoke(a,b))
        let v = Option.bind f.Invoke o
        mapper o v
  
      [<Extension>]
      static member Aggregate (o, state, f: Func<_,_,_>) =
          Option.fold (fun s x -> f.Invoke(s,x)) state o
  
      [<Extension>]
      static member Where (o: _ option, pred: _ Predicate) =
  
negative.code: 
      [<Extension>]
      static member Join (c: Choice<'a, string list>, inner: Choice<'b, string list>, outerKeySelector: Func<'a,'c>, innerKeySelector: Func<'b,'c>, resultSelector: Func<'a,'b,'d>) =
        Either.returnM (curry resultSelector.Invoke) 
        |> Validation.ap c 
        |> Validation.ap inner 
  
  