anchor.diff:                  |> Seq.fold (fun acc (x, y) -> Map.add x y acc) insts
               else insts
   
  -        let ctx = { Writer = writer; TypeInstantations = instantiations; Indentation = indentation; 
  -                    ObjectIdent = objectIdent; MethodBody = lines; DisplayContext = displayContext }
  +        let ctx = { Writer = writer; TypeInstantations = instantiations; ArgInstantiations = Seq.empty;
  +                    Indentation = indentation; ObjectIdent = objectIdent; MethodBody = lines; DisplayContext = displayContext }
           writer.Indent startColumn
  -        for v in getInterfaceMembers e do
  -            formatMember ctx v
  +        for (m, instantiations) in getInterfaceMembers e do
  +            formatMember { ctx with ArgInstantiations = instantiations } m
           writer.Dump()
   
       let internal (|IndexerArg|) = function
  
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 =
  