anchor.diff:              |> Seq.filter (fun (m, insts) -> 
                   // FullType might throw exceptions due to bugs in FCS
                   try
  -                    match m with
  -                    | MemberFunctionType typ -> 
  -                        let signature = sprintf "%s:%s" m.DisplayName (formatType { ctx with ArgInstantiations = insts }  typ)
  -                        not (Set.contains (signature.Replace(" ", "")) excludedMemberSignatures) 
  +                    let (TypeOfMember typ) = m 
  +                    let signature = removeWhitespace (sprintf "%s:%s" m.DisplayName (formatType { ctx with ArgInstantiations = insts }  typ))
  +                    not (Set.contains signature excludedMemberSignatures) 
                   with _ -> true)
           // All members are already implemented
           if Seq.isEmpty missingMembers then
  
positive.code:         seq {
              for (iface, instantiations) in getInterfaces e do
                  yield! iface.MembersFunctionsAndValues |> Seq.choose (fun m -> 
                             // Use this hack when FCS doesn't return enough information on .NET properties
                             if (iface.IsFSharp || not m.IsProperty) && not m.IsEvent then Some (m, instantiations) else None)
           }
  
      let hasNoInterfaceMember e =
  
negative.code:             Debug.Assert(symbolUse.Symbol :? FSharpMemberFunctionOrValue, "Only accept symbol use of members.")
              try
                  let m = symbolUse.Symbol :?> FSharpMemberFunctionOrValue
                  match m.FullType with
                  | EventFunctionType(argType, retType) when m.IsEvent ->
                      let signature = removeWhitespace (sprintf "%s:%s->%s" m.DisplayName (argType.Format(displayContext)) 
                                          (retType.Format(displayContext)))
                      // CLI events correspond to two members add_* and remove_*
                      Some [ sprintf "add_%s" signature; sprintf "remove_%s" signature]
                  | typ ->
                      let signature = removeWhitespace (sprintf "%s:%s" m.DisplayName (typ.Format(displayContext)))
                      Some [signature]
              with _ ->
                  None
          async {
  