anchor.diff:      /// 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.
  +#if COMPILER
       module public Layout =
  -
  +#else
  +    module internal Layout =
  +#endif
           /// The empty layout
           val emptyL: Layout
   
  
positive.code: 
      module internal Display =
  
  #if FSHARP_CORE
  
          // 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
  
negative.code:     open Microsoft.FSharp.Collections
      open Microsoft.FSharp.Primitives.Basics
  
  #if COMPILER
  
      /// Data representing joints in structured layouts of terms.  The representation
      /// of this data type is only for the consumption of formatting engines.
  