anchor.diff:      
       [<Extension>]
       static member ToSystemFunc(expr : 'TIn1 -> 'TIn2 -> 'TIn3 -> 'TOut) = System.Func<'TIn1, 'TIn2, 'TIn3, 'TOut>(expr)
  -
  +    
       static member CreateFSharpFunc(expr : System.Func<'TOut>) = FunctionConverter.ToFSharpFunc expr
  -
       static member CreateFSharpFunc(expr : System.Func<'TIn, 'TOut>) = FunctionConverter.ToFSharpFunc expr
  -
       static member CreateFSharpFunc(expr : System.Func<'TIn1, 'TIn2, 'TOut>) = FunctionConverter.ToFSharpFunc expr
  -
       static member CreateFSharpFunc(expr : System.Func<'TIn1, 'TIn2, 'TIn3, 'TOut>) = FunctionConverter.ToFSharpFunc expr
  -
       static member CreateSystemFunc(expr : unit -> 'TOut) = System.Func<'TOut> expr
  -
       static member CreateSystemFunc(expr : 'TIn -> 'TOut) = System.Func<'TIn, 'TOut>(expr)
  -
       static member CreateSystemFunc(expr : 'TIn1 -> 'TIn2 -> 'TOut) = System.Func<'TIn1, 'TIn2, 'TOut>(expr)
  -
  -    static member CreateSystemFunc(expr : 'TIn1 -> 'TIn2 -> 'TIn3 -> 'TOut) = System.Func<'TIn1, 'TIn2, 'TIn3, 'TOut>(expr)
  +    static member CreateSystemFunc(expr : 'TIn1 -> 'TIn2 -> 'TIn3 -> 'TOut) = 
  +        System.Func<'TIn1, 'TIn2, 'TIn3, 'TOut>(expr)
  
positive.code:         match Mapper.GetAllTypeMaps() 
                |> Seq.tryFind 
                       (fun (item : TypeMap) -> 
                       item.SourceType.Equals(typeof<'TSource>) 
                       && item.DestinationType.Equals(typeof<'TDestination>)) with
          | Some(i) -> 
              i.GetUnmappedPropertyNames() 
              |> Seq.iter (fun prop -> expression.ForMember(prop, fun opt -> opt.Ignore()) |> ignore)
  
negative.code: type public FunctionConverter = 
      
      [<Extension>]
      static member ToFSharpFunc(expr : System.Func<'TOut>) = 
          match expr with
          | null -> None
          | _ -> Some(fun _ -> expr.Invoke())
      
      [<Extension>]
      static member ToFSharpFunc(expr : System.Func<'TIn, 'TOut>) = 
          match expr with
          | null -> None
          | _ -> Some(fun p -> expr.Invoke(p))
      
      [<Extension>]
      static member ToFSharpFunc(expr : System.Func<'TIn1, 'TIn2, 'TOut>) = 
          match expr with
          | null -> None
          | _ -> Some(fun p1 p2 -> expr.Invoke(p1, p2))
      
      [<Extension>]
      static member ToFSharpFunc(expr : System.Func<'TIn1, 'TIn2, 'TIn3, 'TOut>) = 
          match expr with
          | null -> None
          | _ -> Some(fun p1 p2 p3 -> expr.Invoke(p1, p2, p3))
      
      [<Extension>]
      static member ToSystemFunc(expr : unit -> 'TOut) = System.Func<'TOut>(expr)
  