anchor.diff:          fun (k: 'a -> SeqT<'mb>) -> 
               (SeqT (x >>= SeqT.mapM(SeqT.run << k) >>= (Seq.concat >> return'))) :SeqT<'mb>
   
  -    static member inline instance (MonadPlus.Mzero, _:SeqT<_>) = fun ()       -> SeqT (return' [])
  +    static member inline instance (MonadPlus.Mzero, _:SeqT<_>) = fun ()       -> SeqT (return' Seq.empty)
       static member inline instance (MonadPlus.Mplus, SeqT x, _) = fun (SeqT y) -> SeqT <| do'() {
           let! a = x
           let! b = y
  -        return (a @ b)}
  +        return (Seq.append a b)}
   
   
   
  
positive.code:     type LiftAsync = LiftAsync with  
          static member inline instance (LiftAsync, _:OptionT<'U>) = fun (x :Async<'a>) -> lift (Inline.instance LiftAsync x)
          static member inline instance (LiftAsync, _:ListT< 'U> ) = fun (x :Async<'a>) -> lift (Inline.instance LiftAsync x)
          static member inline instance (LiftAsync, _:SeqT< 'U> ) = fun (x :Async<'a>) -> lift (Inline.instance LiftAsync x)
          static member        instance (LiftAsync, _:Async<'a>  ) = fun (x :Async<'a>) -> x
  
      let inline internal liftAsync (x: Async<'a>) = Inline.instance LiftAsync x
  
negative.code:     static member inline instance (MonadPlus.Mplus, OptionT x, _) = fun (OptionT y) -> OptionT <| do'() {
              let! maybe_value = x
              return! match maybe_value with Some value -> x | _ -> y}
  
  
  type ListT<'Ma> = ListT of 'Ma
  
  