anchor.diff:      let internal (|IndexerArgList|) xs =
           List.collect (|IndexerArg|) xs
   
  -    let internal inRange (r: range) pos = 
  -        if posEq r.Start r.End then
  -            posGeq pos r.Start && posGeq r.End pos
  -        else
  -            posGeq pos r.Start && posGeq r.End pos
  -
       let tryFindInterfaceDeclaration (pos: pos) (parsedInput: ParsedInput) =
           let rec walkImplFileInput (ParsedImplFileInput(_name, _isScript, _fileName, _scopedPragmas, _hashDirectives, moduleOrNamespaceList, _)) = 
               List.tryPick walkSynModuleOrNamespace moduleOrNamespaceList
   
           and walkSynModuleOrNamespace(SynModuleOrNamespace(_lid, _isModule, decls, _xmldoc, _attributes, _access, range)) =
  -            if not <| inRange range pos then
  +            if not <| rangeContainsPos range pos then
                   None
               else
                   List.tryPick walkSynModuleDecl decls
   
           and walkSynModuleDecl(decl: SynModuleDecl) =
  -            if not <| inRange decl.Range pos then
  +            if not <| rangeContainsPos decl.Range pos then
                   None
               else
                   match decl with
  
positive.code:                 | SynMemberDefn.AutoProperty(_attributes, _isStatic, _id, _type, _memberKind, _memberFlags, _xmlDoc, _access, expr, _r1, _r2) ->
                      walkExpr expr
                  | SynMemberDefn.Interface(interfaceType, members, _range) ->
                      if inRange interfaceType.Range pos then
                          Some(InterfaceData.Interface(interfaceType, members))
                      else
                          Option.bind (List.tryPick walkSynMemberDefn) members
  
negative.code:                     None
  
          and walkSynMemberDefn (memberDefn: SynMemberDefn) =
              if not <| rangeContainsPos memberDefn.Range pos then
                  None
              else
                  match memberDefn with
  