anchor.diff:  
       type Map() =
           inherit MapDefault()
  -        static member instance (_:Map, x:seq<_>      , _:seq<'b>) = fun f -> Seq.map f x :seq<'b>
  +        static member instance (_:Map, x:seq<_>       , _:seq<'b>) = fun f -> Seq.map f x :seq<'b>
           static member instance (_:Map, x:option<_>    , _) = fun f -> Option.map  f x
           static member instance (_:Map, x:List<_>      , _:List<'b>) = fun f -> List.map f x :List<'b>
           static member instance (_:Map, g:_->_         , _) = (>>) g
  
positive.code:     type Extract = Extract with
          static member        instance (Extract, (w:'w,a:'a) ,_) = fun () -> a
          static member inline instance (Extract, f:'m->'t ,_:'t) = fun () -> f (mempty())
  #if NOTNET35
          static member        instance (Extract, f:'t Task,_:'t) = fun () -> f.Result
  #endif
  
negative.code: 
      type Apply() =
          inherit ApplyDefault()
  
          static member        instance (_:Apply, f:seq<_>      , x:seq<'a>      , _:seq<'b>      ) = fun () -> DefaultImpl.ApplyFromMonad f x :seq<'b>
          static member        instance (_:Apply, f:List<_>     , x:List<'a>     , _:List<'b>     ) = fun () -> DefaultImpl.ApplyFromMonad f x :List<'b>
          static member        instance (_:Apply, f:_ []        , x:'a []        , _:'b []        ) = fun () -> DefaultImpl.ApplyFromMonad f x :'b []
          static member        instance (_:Apply, f:'r -> _     , g: _ -> 'a     , _: 'r -> 'b    ) = fun () -> fun x -> f x (g x) :'b
  