anchor.diff:  
       member inp.Range = 
           match inp with
  -        | ParsedInput.ImplFile (ParsedImplFileInput(_,_,_,_,_,(SynModuleOrNamespace(_,_,_,_,_,_,m) :: _),_))
  -        | ParsedInput.SigFile (ParsedSigFileInput(_,_,_,_,(SynModuleOrNamespaceSig(_,_,_,_,_,_,m) :: _))) -> m
  +        | ParsedInput.ImplFile (ParsedImplFileInput(_,_,_,_,_,(SynModuleOrNamespace(range=r) :: _),_))
  +        | ParsedInput.SigFile (ParsedSigFileInput(_,_,_,_,(SynModuleOrNamespaceSig(range=r) :: _))) -> r
           | ParsedInput.ImplFile (ParsedImplFileInput(filename,_,_,_,_,[],_))
           | ParsedInput.SigFile (ParsedSigFileInput(filename,_,_,_,[])) ->
   #if DEBUG      
  
positive.code: and 
      [<NoEquality; NoComparison>]
      SynStaticOptimizationConstraint =
      | WhenTyparTyconEqualsTycon of SynTypar *  SynType * range
      | WhenTyparIsStruct of SynTypar * range
  
  and  
      [<NoEquality; NoComparison;RequireQualifiedAccess>]
  
negative.code:     /// from the construct, e.g. after changing a "function pat1 -> rule1 | ..." to a 
      /// "fun v -> match v with ..."
      SynSimplePats =
      | SimplePats of SynSimplePat list * range:range
      | Typed of  SynSimplePats * SynType * range:range
  
  and SynConstructorArgs =
      | Pats of SynPat list
      | NamePatPairs of (Ident * SynPat) list * range:range
  and  
      [<NoEquality; NoComparison;RequireQualifiedAccess>]
      SynPat =
      | Const of constant:SynConst * range:range
      | Wild of range
      | Named of  SynPat * id:Ident *  isThisVar:bool (* true if 'this' variable *)  * accessiblity:SynAccess option * range:range
      | Typed of  SynPat * typeName:SynType * range:range
      | Attrib of  SynPat * attributes:SynAttributes * range:range
      | Or of  SynPat * SynPat * range:range
      | Ands of  SynPat list * range:range
      | LongIdent of dotId:LongIdentWithDots * (* holds additional ident for tooling *) Ident option * SynValTyparDecls option (* usually None: temporary used to parse "f<'a> x = x"*) * SynConstructorArgs  * SynAccess option * range:range
      | Tuple of  SynPat list * range:range
      | Paren of  SynPat * range:range
      | ArrayOrList of  bool * SynPat list * range:range
      | Record of fields:((LongIdent * Ident) * SynPat) list * range:range
      /// 'null'
      | Null of range
      /// '?id' -- for optional argument names
      | OptionalVal of Ident * range:range
      /// ':? type '
      | IsInst of typeName:SynType * range:range
      /// &lt;@ expr @&gt;, used for active pattern arguments
      | QuoteExpr of expr:SynExpr * range:range
      /// Deprecated character ranges
      | DeprecatedCharRange of char * char * range:range
      /// Used internally in the type checker
      | InstanceMember of  Ident * Ident * (* holds additional ident for tooling *) Ident option * accesiblity:SynAccess option * range:range (* adhoc overloaded method/property *)
  
      /// A pattern arising from a parse error
      | FromParseError of SynPat * range:range
  
      member p.Range = 
        match p with 
        | SynPat.Const (range=r) 
        | SynPat.Wild r
        | SynPat.Named (range=r)
        | SynPat.Or (range=r)
        | SynPat.Ands (range=r)
        | SynPat.LongIdent (range=r)
        | SynPat.ArrayOrList (range=r) 
        | SynPat.Tuple (range=r)
        | SynPat.Typed (range=r)
        | SynPat.Attrib (range=r)
        | SynPat.Record (range=r)
        | SynPat.DeprecatedCharRange (range=r)
        | SynPat.Null r 
        | SynPat.IsInst (range=r)
        | SynPat.QuoteExpr (range=r)
        | SynPat.InstanceMember (range=r)
        | SynPat.OptionalVal (range=r)
        | SynPat.Paren (range=r)
        | SynPat.FromParseError (range=r) -> r
  
  and  
      [<NoEquality; NoComparison>]
      SynInterfaceImpl = 
      | InterfaceImpl of SynType * bindings:SynBinding list * range:range
  
  and  
      [<NoEquality; NoComparison>]
      SynMatchClause = 
      | Clause of SynPat * SynExpr option *  SynExpr * range:range * spTarget:SequencePointInfoForTarget
      member this.RangeOfGuardAndRhs =
          match this with
          | Clause(_,eo,e,_,_) ->
  