anchor.diff:    let inline returnM x = returnM maybe x
     let inline (>>=) m f = bindM maybe m f
     let inline (=<<) f m = bindM maybe m f
  +  /// Sequential application
     let inline (<*>) f m = applyM maybe maybe f m
  +  /// Sequential application
  +  let inline ap m f = f <*> m
     let inline (<!>) f m = Option.map f m
     let inline map2 f a b = returnM f <*> a <*> b
  +  /// Sequence actions, discarding the value of the first argument.
     let inline ( *>) x y = map2 (fun _ z -> z) x y
  +  /// Sequence actions, discarding the value of the second argument.
     let inline ( <*) x y = map2 (fun z _ -> z) x y
  +
  +  /// Sequentially compose two maybe actions, discarding any value produced by the first
     let inline (>>.) m f = bindM maybe m (fun _ -> f)
   
     let fromNullable (n: _ Nullable) = 
  
positive.code:   let inline returnM x = Yield(x, Empty)
    let inline (>>=) m f = bind m f
    let inline (=<<) f m = bind m f
    let inline (<*>) f m = f >>= fun f' -> m >>= fun m' -> returnM (f' m')
    let inline map f m = m >>= fun x -> returnM (f x)
    let inline (<!>) f m = map f m
    let inline map2 f a b = returnM f <*> a <*> b
    let inline ( *>) x y = map2 (fun _ z -> z) x y
    let inline ( <*) x y = map2 (fun z _ -> z) x y
    let inline (>>.) m f = m >>= (fun _ -> f)
    
    module List =
  
negative.code:   let inline returnM x = returnM state x
    let inline (>>=) m f = bindM state m f
    let inline (=<<) f m = bindM state m f
    /// Sequential application
    let inline (<*>) f m = applyM state state f m
    /// Sequential application
    let inline ap m f = f <*> m
    let inline map f m = liftM state f m
    let inline (<!>) f m = map f m
    let inline map2 f a b = returnM f <*> a <*> b
    /// Sequence actions, discarding the value of the first argument.
    let inline ( *>) x y = map2 (fun _ z -> z) x y
    /// Sequence actions, discarding the value of the second argument.
    let inline ( <*) x y = map2 (fun z _ -> z) x y
    /// Sequentially compose two state actions, discarding any value produced by the first
    let inline (>>.) m f = bindM state m (fun _ -> f)
  
  module Reader =
  