anchor.diff:      | Divide of SynMeasure * SynMeasure * range:range
       | Power of SynMeasure * SynRationalConst * range:range
       | One
  -    | Anon of range
  +    | Anon of range:range
       | Var of SynTypar * range:range
   
   and
  
positive.code:         | SynExpr.YieldOrReturn (range=m)
          | SynExpr.YieldOrReturnFrom (range=m)
          | SynExpr.LetOrUseBang (range=m)
          | SynExpr.DoBang  (range=m) -> m
          | SynExpr.DotGet (expr,_,lidwd,m) -> if lidwd.ThereIsAnExtraDotAtTheEnd then unionRanges expr.Range lidwd.RangeSansAnyExtraDot else m
          | SynExpr.LongIdent (_,lidwd,_,_) -> lidwd.RangeSansAnyExtraDot
          | SynExpr.DiscardAfterMissingQualificationAfterDot (expr,_) -> expr.Range
  
negative.code:     SynTypeDefnSimpleRepr =
  
      /// A union type definition, type X = A | B
      | Union      of accessibility:SynAccess option * unionCases:SynUnionCases * range:range
      /// An enum type definition, type X = A = 1 | B = 2
      | Enum       of SynEnumCases * range:range
      /// A record type definition, type X = { A : int; B : int }
      | Record     of accessibility:SynAccess option * recordFields:SynFields * range:range
      /// An object oriented type definition. This is not a parse-tree form, but represents the core
      /// type representation which the type checker splits out from the "ObjectModel" cases of type definitions.
      | General    of SynTypeDefnKind * (SynType * range * Ident option) list * (SynValSig * MemberFlags) list * SynField list  * bool * bool * SynSimplePat list option * range:range
      /// A type defined by using an IL assembly representation. Only used in FSharp.Core.
      ///
      /// F# syntax: "type X = (# "..."#)
      | LibraryOnlyILAssembly of ILType * range:range
      /// A type abbreviation, "type X = A.B.C"
      | TypeAbbrev of ParserDetail * SynType * range:range
      /// An abstract definition , "type X"
      | None       of range:range
      /// An exception definition , "exception E = ..."
      | Exception of SynExceptionDefnRepr
  
      member this.Range =
          match this with
          | Union (range=m)
          | Enum (range=m)
          | Record (range=m)
          | General (range=m)
          | LibraryOnlyILAssembly (range=m)
          | TypeAbbrev (range=m)
          | None (range=m) -> m
          | Exception t -> t.Range
  
  and SynEnumCases = SynEnumCase list
  