anchor.diff:              walkExpr expr
   
           and walkExpr expr =
  -            if not <| inRange expr.Range pos then 
  +            if not <| rangeContainsPos expr.Range pos then 
                   None
               else
                   match expr with
  
positive.code:             |> Seq.filter (fun (m, insts) -> 
                  // FullType might throw exceptions due to bugs in FCS
                  try
                      Debug.Assert(m.FullType.IsFunctionType, "An interface member has to be of function type.")
                      let fullSignature = sprintf "%s:%s" m.DisplayName (formatType { ctx with ArgInstantiations = insts }  m.FullType)
                      // Sometimes interface members are stored in the form of `IInterface<'T> -> ...` so we need to get the 2nd generic arguments
                      let partialSignature = sprintf "%s:%s" m.DisplayName (formatType { ctx with ArgInstantiations = insts }  m.FullType.GenericArguments.[1])
                      not (Set.contains (fullSignature.Replace(" ", "")) excludedMemberSignatures || Set.contains (partialSignature.Replace(" ", "")) excludedMemberSignatures) 
                  with _ -> true)
          // All members are already implemented
          if Seq.isEmpty missingMembers then
  
negative.code:                 | SynMemberDefn.AutoProperty(_attributes, _isStatic, _id, _type, _memberKind, _memberFlags, _xmlDoc, _access, expr, _r1, _r2) ->
                      walkExpr expr
                  | SynMemberDefn.Interface(interfaceType, members, _range) ->
                      if rangeContainsPos interfaceType.Range pos then
                          Some(InterfaceData.Interface(interfaceType, members))
                      else
                          Option.bind (List.tryPick walkSynMemberDefn) members
  