anchor.diff:  
       /// Generate stub implementation of an interface at a start column
       let formatInterface startColumn indentation (typeInstances: string []) objectIdent 
  -        (methodBody: string) (displayContext: FSharpDisplayContext) (e: FSharpEntity) =
  +            (methodBody: string) (displayContext: FSharpDisplayContext) (e: FSharpEntity) =
           Debug.Assert(isInterface e, "The entity should be an interface.")
           use writer = new ColumnIndentedTextWriter()
           let lines = methodBody.Replace("\r\n", "\n").Split('\n')
  
positive.code:         let instantiations = 
              let insts =
                  Seq.zip typeParams typeInstances
                  |> Seq.filter(fun (t1, t2) -> t1 <> t2) 
                  |> Map.ofSeq
              // A simple hack to handle instantiation of type alias 
              if e.IsFSharpAbbreviation then
  
negative.code:     let rec internal getInterfaces (e: FSharpEntity) = 
          seq { for iface in e.AllInterfaces ->
                  let typ = getNonAbbreviatedType iface
                  // Argument should be kept lazy so that it is only evaluated when instantiating a new type
                  typ.TypeDefinition, Seq.zip typ.TypeDefinition.GenericParameters typ.GenericArguments
          }
          |> Seq.distinct
  
      /// Get members in the decreasing order of inheritance chain
      let internal getInterfaceMembers (e: FSharpEntity) = 
          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 then Some (m, instantiations) else None)
           }
  
      let countInterfaceMembers e =
  