anchor.diff:  
       let inline internal tell   x = Inline.instance  Tell x
       let inline internal listen m = Inline.instance (Listen, m) ()
  -    let inline internal pass   m = Inline.instance (Pass  , m) ()+    let inline internal pass   m = Inline.instance (Pass  , m) ()
  
positive.code: type ListT<'Ma> with
      static member inline instance (Functor.Map ,            ListT x:ListT<'ma>, _) = fun (f:'a->'b) -> ListT (fmap (List.map f) x):ListT<'mb>
      static member inline instance (Applicative.Pure,                     _:ListT<'ma>) = ListT << return' << singleton :'a -> ListT<'ma>
      static member inline instance (Monad.Bind  , ListT x:ListT<'ma>, _:ListT<'mb>) =
          fun (k: 'a -> ListT<'mb>) -> 
              (ListT (x >>= mapM(ListT.run << k) >>= (concat >> return'))) :ListT<'mb>
  
negative.code: type OptionT<'Ma> with
      static member inline instance (Functor.Map, OptionT x :OptionT<'ma>, _) = fun (f:'a->'b) -> OptionT (fmap (Option.map f) x) :OptionT<'mb>
      static member inline instance (Applicative.Pure,            _:OptionT<'ma>) = OptionT << return' << Some :'a -> OptionT<'ma>
      static member inline instance (Applicative.Apply, OptionT(f), OptionT(x),  _:OptionT<'r>) = fun () ->
          OptionT(fmap (<*>) f <*> x) :OptionT<'r>
      static member inline instance (Monad.Bind  , OptionT x :OptionT<'ma>, _:OptionT<'mb>) = 
          fun (f: 'a -> OptionT<'mb>) -> (OptionT <| do'() {
              let! maybe_value = x
  