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: // Functor class ----------------------------------------------------------
  
  module Functor =
      type SeqMapper = SeqMapper with
          //static member inline instance (SeqMapper, _:^t when ^t: null and ^t: struct, _) = fun () -> id
          static member instance (SeqMapper, x:_ list , _, _) = fun f -> Seq.map f x |> Seq.toList
          static member instance (SeqMapper, x:_ []   , _, _) = fun f -> Seq.map f x |> Seq.toArray        
          static member instance (SeqMapper, x:_ seq  , _:_ seq option, _) = fun f -> Seq.map f x
  
      let inline seqMapper f x = Inline.instance(SeqMapper, x, Some x) f
  
      type DefaultImpl =        
          static member inline MapFromApplicative f x = pure' f <*> x
          static member inline MapFromMonad f x = x >>= (pure' << f)
  