==============================
Value specification
:language(ocaml_interface)
==============================

val x : t
val x : 'a . 'a

---

(compilation_unit
  (value_specification
    (value_name)
    type: (type_constructor_path
      (type_constructor)))
  (value_specification
    (value_name)
    type: (polymorphic_type
      (type_variable)
      type: (type_variable))))

==============================
Include
:language(ocaml_interface)
==============================

include M
include t
include M.M
include M.t
include M.M.M
include M.M.t

---

(compilation_unit
  (include_module_type
    module_type: (module_type_path
      (module_type_name)))
  (include_module_type
    module_type: (module_type_path
      (module_type_name)))
  (include_module_type
    module_type: (module_type_path
      (extended_module_path
        (module_name))
      (module_type_name)))
  (include_module_type
    module_type: (module_type_path
      (extended_module_path
        (module_name))
      (module_type_name)))
  (include_module_type
    module_type: (module_type_path
      (extended_module_path
        (extended_module_path
          (module_name))
        (module_name))
      (module_type_name)))
  (include_module_type
    module_type: (module_type_path
      (extended_module_path
        (extended_module_path
          (module_name))
        (module_name))
      (module_type_name))))
