================================================================================
Kind
================================================================================

data Boolean

--------------------------------------------------------------------------------

(purescript
  (kind_declaration
    name: (type)))

================================================================================
Kind value
================================================================================

foreign import data True :: Boolean

--------------------------------------------------------------------------------

(purescript
  (kind_value_declaration
    name: (type)
    (type_name
      (type))))

================================================================================
type roles - one role
================================================================================

type role Type nominal

--------------------------------------------------------------------------------

(purescript
  (type_role_declaration
    (type)
    (type_role)))

================================================================================
type roles - multiple roles
================================================================================

type role Type nominal representational phantom

--------------------------------------------------------------------------------

(purescript
  (type_role_declaration
    (type)
    (type_role)
    (type_role)
    (type_role)))
