anchor.diff:            Desktop : string
             DesktopOnly : string
             Widescreen : string }
  -
  -    and PropertiesVisibility =
  -        { IsHidden : DisplayType }
  -
  -    and PropertiesInteraction =
  -        { IsUnselectable : string }
  -
  -    and Progress =
  -        { Container : string
  -          Size : StandardSize
  -          Color : LevelAndColor }
  -
  -    and Table =
  -        { Container : string
  -          Row : TableRow
  -          Style : TableStyle
  -          Spacing : TableSpacing }
  -
  -    and TableRow =
  -        { State : TableRowState }
  -
  -    and TableRowState =
  -        { IsSelected : string }
  -
  -    and TableStyle =
  -        { IsBordered : string
  -          IsStripped : string }
  -
  -    and TableSpacing =
  -        { IsNarrow : string }
  -
  -    and Tag =
  -        { Container : string
  -          Size : TagSize
  -          Color : LevelAndColor }
  -
  -    and TagSize =
  -        { IsMedium : string
  -          IsLarge : string }
  -
  -    and Bulma =
  -        { Modifiers : Modifiers
  -          Box : Box
  -          Button : Button
  -          Card : Card
  -          Content : Content
  -          Control : Control
  -          Delete : Delete
  -          Field : Field
  -          Grid : Grid
  -          Heading : Heading
  -          Hero : Hero
  -          Label : Label
  -          Level : Level
  -          Menu : Menu
  -          Media : Media
  -          Message : Message
  -          Nav : Nav
  -          Panel : Panel
  -          Properties : Properties
  -          Progress : Progress
  -          Icon : Icon
  -          Image : Image
  -          Input : Input
  -          Table : Table
  -          Tag : Tag }
   
       let (++) str1 str2 = str1 + " " + str2
   
  
positive.code:           IsNarrow = "is-offset-narrow" + suffix
            IsFull = "is-full" + suffix }
  
      let column : Column =
          { Container = "column"
            Width = generateColumnSize ""
            Offset = generateColumnOffset ""
            Desktop =
              { Width = generateColumnSize "-desktop"
                Offset = generateColumnOffset "-desktop" }
            Mobile =
              { Width = generateColumnSize "-mobile"
                Offset = generateColumnOffset "-mobule" }
            Tablet =
              { Width = generateColumnSize "-tablet"
                Offset = generateColumnOffset "-tablet" }
            WideScreen =
              { Width = generateColumnSize "-widescreen"
                Offset = generateColumnOffset "-widescreen" } }
  
      let delete : Delete =
          { Container = "delete"
            Size = standardSize }
  
      let field : Field =
          { Container = "field"
            Label = "field-label"
            Body = "field-body"
            HasAddons =
                { Left = "has-addons"
                  Centered = "has-addons-centered"
                  Right = "has-addons-right"
                  FullWidh = "has-addons-fullwidth" }
            IsGrouped =
                { Left = "is-grouped"
                  Centered = "is-grouped-centered"
                  Right = "is-grouped-right" }
            Layout = { IsHorizontal = "is-horizontal" } }
  
      let icon : Icon =
          { Container = "icon"
            Position =
                { Left = "is-left"
                  Right = "is-right" }
            Size = standardSize }
  
      let input : Input =
          { Container = "input"
            Display = { IsInline = "is-inline" }
            Size = standardSize
            State =
                { IsHovered = "is-hovered"
                  IsFocused = "is-focus"
                  IsActive = "is-active"
                  IsLoading = "is-loading" }
            Color = levelAndColor
            Addon = { IsExpanded = "is-expanded" } }
  
      let image : Image =
          { Container = "image"
            Size =
                { Is16x16 = "is-16x16"
                  Is24x24 = "is-24x24"
                  Is32x32 = "is-32x32"
                  Is48x48 = "is-48x48"
                  Is64x64 = "is-64x64"
                  Is96x96 = "is-96x96"
                  Is128x128 = "is-128x128" }
            Ratio =
                { IsSquare = "is-square"
                  Is1by1 = "is-1by1"
                  Is4by3 = "is-4by3"
                  Is3by2 = "is-3by2"
                  Is16by9 = "is-16by9"
                  Is2by1 = "is-2by1" } }
  
      let heading : Heading =
          { Title = "title"
            Subtitle = "subtitle"
            Size =
                { Is1 = "is-1"
                  Is2 = "is-2"
                  Is3 = "is-3"
                  Is4 = "is-4"
                  Is5 = "is-5"
                  Is6 = "is-6" }
            Spacing = { IsNormal = "is-spaced" } }
  
      let hero : Hero =
          { Container = "hero"
            Head = "hero-head"
            Body = "hero-body"
            Foot = "hero-foot"
            Video =
              { Container = "hero-video"
                IsTransparent = "is-transparent" }
            Buttons =
              { Container = "hero-buttons" }
            Style =
              { IsBold = "is-bold" }
            Size =
              { IsMedium = "is-medium"
                IsLarge = "is-large"
                IsHalfHeight = "is-halfheight"
                IsFullHeight = "is-fullheight" }
            Color = levelAndColor }
  
      let label : Label =
          { Container = "label"
            Size = standardSize }
  
      let level : Level =
          { Container = "level"
            Left = "level-left"
            Right = "level-right"
            Item =
              { Container = "level-item"
                HasTextCentered = "has-text-centered" }
            Mobile =
              { IsHorizontal = "is-mobile" } }
  
      let menu : Menu =
          { Container = "menu"
            Label = "menu-label"
            List = "menu-list" }
  
      let media : Media =
          { Container = "media"
            Left = "media-left"
            Right = "media-right"
            Content = "media-content"
            Size =
                { isLarge = "is-large" } }
  
      let message : Message =
          { Container = "message"
            Header = "message-header"
            Body = "message-body"
            Color = levelAndColor }
  
      let nav : Nav =
          { Container = "nav"
            Left = "nav-left"
            Center = "nav-center"
            Right = "nav-right"
            Toggle =
              { Container = "nav-toggle"
                State = genericIsActiveState }
            Menu =
              { Container = "nav-menu"
                State = genericIsActiveState }
            Item =
              { Container = "nav-item"
                Style =
                  { IsTab = "is-tab" }
                State = genericIsActiveState }
            Style =
              { HasShadow = "has-shadow" } }
  
      let panel : Panel =
          { Container = "panel"
            Heading = "panel-heading"
            Tabs =
              { Container = "panel-tabs"
                Tab =
                  { State =
                      { IsActive = "is-active" } } }
            Block =
              { Container = "panel-block"
                Icon = "panel-icon"
                List = "panel-list"
                State =
                  { IsActive = "is-active" } } }
  
      let generateDisplayType prefix =
          { Always = "is-" + prefix + "-touch" ++ "is-" + prefix + "-desktop"
            Mobile = "is-" + prefix + "-mobile"
  
negative.code:     let genericIsActiveState : GenericIsActiveState =
          { IsActive = "is-active" }
  
  
      let generateColumnSize suffix =
          { IsOneQuarter = "is-one-quarter" + suffix
  