anchor.diff:  
       module internal Display =
   
  -#if FSHARP_CORE
  +#if COMPILER
  +
  +        val asTaggedTextWriter: writer: TextWriter -> TaggedTextWriter
  +
  +        val any_to_layout: options:FormatOptions -> value:'T * typValue:Type -> Layout
  +
  +        val squashTo: width: int -> layout: Layout -> Layout
  +
  +        val squash_layout: options:FormatOptions -> layout:Layout -> Layout
  +
  +        val output_layout_tagged: options:FormatOptions -> writer:TaggedTextWriter -> layout:Layout -> unit
  +
  +        val output_layout: options:FormatOptions -> writer:TextWriter -> layout:Layout -> unit
  +
  +        val layout_as_string: options:FormatOptions -> value:'T * typValue:Type -> string
  +#else
   
           // Most functions aren't needed in FSharp.Core.dll, but we add one inernal entry for printf
           val anyToStringForPrintf: options:FormatOptions -> bindingFlags:System.Reflection.BindingFlags -> value:'T * Type -> string
  -#else
  -
  -        val asTaggedTextWriter: writer: TextWriter -> TaggedTextWriter
  -
  -        val any_to_layout: options:FormatOptions -> value:'T * typValue:Type -> Layout
  -
  -        val squashTo: width: int -> layout: Layout -> Layout
  -
  -        val squash_layout: options:FormatOptions -> layout:Layout -> Layout
  -
  -        val output_layout_tagged: options:FormatOptions -> writer:TaggedTextWriter -> layout:Layout -> unit
  -
  -        val output_layout: options:FormatOptions -> writer:TextWriter -> layout:Layout -> unit
  -
  -        val layout_as_string: options:FormatOptions -> value:'T * typValue:Type -> string
   #endif
   
           /// Convert any value to a layout using the given formatting options.  The
  
positive.code:     /// A joint is either unbreakable, breakable or broken.
      /// If a joint is broken the RHS layout occurs on the next line with optional indentation.
      /// A layout can be squashed to for given width which forces breaks as required.
      module public Layout =
  
          /// The empty layout
          val emptyL: Layout
  
  
negative.code:         | Attr of text: string * attributes: (string * string) list * layout: Layout
  
          static member internal JuxtapositionMiddle: left: Layout * right: Layout -> bool
  #else  // FSharp.Compiler.Service.dll, fsc.exe
      /// Data representing structured layouts of terms.  
      // FSharp.Core.dll makes things internal and hides representations
      type internal Layout
  
      type internal LayoutTag
  
      [<Class>]
      type internal TaggedText =
          member Tag: LayoutTag
          member Text: string
  #endif
  
  #if COMPILER
      module public TaggedText =
  #else
      module internal TaggedText =
  #endif
          val tagText: string -> TaggedText
          val tagField: string -> TaggedText
          val tagKeyword: string -> TaggedText
  