anchor.diff:          static member        instance (Pure, _:'a Async      ) = fun (x:'a) -> async.Return x
           static member        instance (Pure, _:Choice<'a,'e> ) = fun x -> Choice1Of2 x :Choice<'a,'e>
           static member        instance (Pure, _:Expr<'a>      ) = fun x -> <@ x @>     :Expr<'a>
  -        static member        instance (Pure, _:'a ResizeArray) = fun x -> new ResizeArray<'a>(Seq.singleton x)        
  +        static member        instance (Pure, _:'a ResizeArray) = fun x -> new ResizeArray<'a>(Seq.singleton x)
   
           //Restricted
           static member instance (Pure, _:'a Nullable  ) = fun (x:'a  ) -> Nullable x:'a Nullable
  
positive.code: 
      type Apply() =
          inherit ApplyDefault()
          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
  
negative.code:     type MapDefault() =
          static member inline instance (_:MapDefault, x:'f when 'f :> obj, _:'r when 'r :> obj) = fun (f:'a->'b) -> pure' f <*> x :'r
  
      type MapDefaultSeq() =
          inherit MapDefault()
          static member inline instance (_:MapDefaultSeq, x:'f when 'f :> _ seq, _:'r when 'r :> _ seq) = fun (f:'a->'b) -> seqMapper f x
  
      type Map() =
          //inherit MapDefaultSeq() another way to implement it. This will not compile if a subclass of seq is provided, which is desired.
          inherit MapDefault()
          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
  