anchor.diff:              | [] -> col sepNln xs genModuleDecl ctx
               | _ -> (col sepNln xs genModuleDecl +> rep 2 sepNln +> genModuleDeclList ys) ctx
   
  +    | HashDirectiveL(xs, ys) ->
  +        match ys with
  +        | [] -> col sepNone xs genModuleDecl
  +        | _ -> col sepNone xs genModuleDecl +> sepNln +> genModuleDeclList ys
  +
       | DoExprAttributesL(xs, ys) 
  -    | HashDirectiveL(xs, ys) 
       | ModuleAbbrevL(xs, ys) 
       | OneLinerLetL(xs, ys) ->
           match ys with
  
positive.code:             | [] -> col sepNln xs genSigModuleDecl ctx
              | _ -> (col sepNln xs genSigModuleDecl +> rep 2 sepNln +> genSigModuleDeclList ys) ctx
  
      | SigHashDirectiveL(xs, ys) 
      | SigModuleAbbrevL(xs, ys) 
      | SigValL(xs, ys) ->
          match ys with
  
negative.code:     | SigFile si -> genSigFile si
  
  and genImpFile(ParsedImplFileInput(hs, mns)) = 
      col sepNone hs genParsedHashDirective  +> (if hs.IsEmpty then id else sepNln)
      +> col sepNln mns genModuleOrNamespace
  
  and genSigFile(ParsedSigFileInput(hs, mns)) =
      col sepNone hs genParsedHashDirective +> (if hs.IsEmpty then id else sepNln)
      +> col sepNln mns genSigModuleOrNamespace
  
  and genParsedHashDirective(ParsedHashDirective(h, s)) =
  