anchor.diff:  // Functor class ----------------------------------------------------------
   
   module Functor =
  -    type DefaultImpl =         
  +    type DefaultImpl =        
           static member inline MapFromApplicative f x = pure' f <*> x
           static member inline MapFromMonad f x = x >>= (pure' << f)
   
       type Map = Map with
  -        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
  -        static member instance (Map, (m,a)          , _) = fun f -> (m, f a)
  -        static member instance (Map, x:array<_>     , _) = fun f -> Array.map   f x
  -        static member instance (Map, x:_ [,]        , _) = fun f -> Array2D.map f x
  -        static member instance (Map, x:_ [,,]       , _) = fun f -> Array3D.map f x
  -        static member instance (Map, x:_ [,,,]      , _) = fun f ->
  +        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
  +        static member instance (Map, (m,a)           , _) = fun f -> (m, f a)
  +        static member instance (Map, x:_ []          , _) = fun f -> Array.map   f x
  +        static member instance (Map, x:_ [,]         , _) = fun f -> Array2D.map f x
  +        static member instance (Map, x:_ [,,]        , _) = fun f -> Array3D.map f x
  +        static member instance (Map, x:_ [,,,]       , _) = fun f ->
               Array4D.init (x.GetLength 0) (x.GetLength 1) (x.GetLength 2) (x.GetLength 3) (fun a b c d -> f x.[a,b,c,d])
  -        static member instance (Map, x:Async<_>   , _) = fun f -> DefaultImpl.MapFromMonad f x
  -        static member instance (Map, x:Nullable<_>, _) = fun f -> if x.HasValue then Nullable(f x.Value) else Nullable()
  -        static member instance (Map, x:Choice<_,_>, _) = fun f -> Error.map f x
  -        static member instance (Map, x:Map<'a,'b> , _) = fun (f:'b->'c) -> Map.map (const' f) x : Map<'a,'c>
  +        static member instance (Map, x:Async<_>      , _) = fun f -> DefaultImpl.MapFromMonad f x
  +        static member instance (Map, x:Nullable<_>   , _) = fun f -> if x.HasValue then Nullable(f x.Value) else Nullable()
  +        static member instance (Map, x:Choice<_,_>   , _) = fun f -> Error.map f x
  +        static member instance (Map, x:Map<'a,'b>    , _) = fun (f:'b->'c) -> Map.map (const' f) x : Map<'a,'c>
  +        static member instance (Map, x:Expr<_>       , _) = fun f -> <@ f %x @>
  +        static member instance (Map, x:_ Generic.List, _) = fun f -> new Generic.List<'b>(Seq.map f x)
  +        
   
       let inline internal fmap   f x = Inline.instance (Map, x) f
   
  -    
  +   
       let inline internal sequence ms =
           let k m m' = m >>= fun (x:'a) -> m' >>= fun xs -> (pure' :list<'a> -> 'M) (List.Cons(x,xs))
           List.foldBack k ms ((pure' :list<'a> -> 'M) [])
  
positive.code: ﻿namespace FsControl.Core.Abstractions
  
  open System
  open FsControl.Core.Prelude
  open FsControl.Core.Types
  open Monoid
  
negative.code:         static member instance (Mplus, x:_ []     , _) = fun y -> Array.append x y
  
      let inline internal mzero () = Inline.instance Mzero ()
      let inline internal mplus (x:'a) (y:'a) : 'a = Inline.instance (Mplus, x) y
  