anchor.diff:      | Choice2Of2 e, _            -> Choice2Of2 e
       | _           , Choice2Of2 e -> Choice2Of2 e
   
  +  /// Sequential application
     let inline (<*>) f x = ap x f
   
     let map f =
  
positive.code:   let inline (<!>) f x = map f x
    let inline map2 f a b = f <!> a <*> b
  
    let inline ( *>) a b = map2 (fun _ z -> z) a b
    let inline ( <*) a b = map2 (fun z _ -> z) a b
  
    let bind f = 
  
negative.code:   let inline liftM builder f m =
      let inline ret x = returnM builder (f x)
      bindM builder m ret
  
    /// Sequential application
    let inline applyM (builder1:^M1) (builder2:^M2) f m =
      bindM builder1 f <| fun f' ->
        bindM builder2 m <| fun m' ->
  