anchor.diff:  
       let private parseModuleOrNamespace (SynModuleOrNamespace.SynModuleOrNamespace (longId,_,isModule,decls,_,attribs,_,r)) =
           seq {
  -            match longId with
  -            | [] -> ()
  -            | _ ->
  -                yield! parseAttributes attribs
  -                let idRange = longIdentRange longId
  -                let fullrange = Range.startToEnd idRange r  
  -                let collapse = Range.endToEnd idRange r 
  -                if isModule then
  -                    yield! rcheck Scope.Module Collapse.Below fullrange collapse
  -                //else
  -                //    //yield! rcheck Scope.Namespace Collapse.Below (Range.modEnd -1 fullrange) (Range.modEnd -1 collapse)
  -                //    yield! rcheck Scope.Namespace Collapse.Below (fullrange) (collapse)
  -
  -                yield! collectHashDirectives decls
  -                yield! collectOpens decls
  -                yield! Seq.collect parseDeclaration decls
  +            yield! parseAttributes attribs
  +            let idRange = longIdentRange longId
  +            let fullrange = Range.startToEnd idRange r  
  +            let collapse = Range.endToEnd idRange r 
  +            if isModule then
  +                yield! rcheck Scope.Module Collapse.Below fullrange collapse
  +
  +            yield! collectHashDirectives decls
  +            yield! collectOpens decls
  +            yield! Seq.collect parseDeclaration decls
           }
   
       type private LineNum = int
  
positive.code:                         // This is not the best way to establish the position of `else`
                          // the AST doesn't provide an easy way to find the position of the keyword
                          // as such `else` will be left out of block structuring and outlining until a
                          // a suitible approach is determined
  //                        let elseRange = Range.endToEnd elseExpr.Range r
  //                        let elseCollapse = Range.startToEnd elseExpr.Range r
  //                        yield! rcheck Scope.ElseInIfThenElse Collapse.Same elseExpr.Range elseExpr.Range
                          yield! parseExpr elseExpr
                  | None -> ()
              | SynExpr.While (_,_,e,r) ->
  
negative.code:     /// from an untyped AST for the purposes of block structure.
      [<RequireQualifiedAccess>]
      module private Range =
  
          let unionOpts (r1:range option) (r2:range option) =
              match r1 , r2 with
              | None, None -> None
              | Some r, None -> Some r
              | None , Some r -> Some r
              | Some r1, Some r2 -> unionRanges r1 r2 |> Some
  
          /// Create a range starting at the end of r1 and finishing at the end of r2
          let inline endToEnd (r1: range) (r2: range) = mkFileIndexRange r1.FileIndex r1.End r2.End
  
          /// Create a range starting at the end of r1 and finishing at the start of r2
          let inline endToStart (r1: range) (r2: range) = mkFileIndexRange r1.FileIndex r1.End r2.Start
  