Ship

Lexicon · Primary type

Primary type

A module's optional lowercase type t — special only in naming and name resolution, not in derived behavior.

  • Inside the owning file: write t

  • Type position outside: write the module name (User, not User.t)

  • PascalCase types in the same file: full name (User.Settings)

    type t is optional. Modules without t are namespace modules (routes, constants, pure operation bundles).

    All module types (t and PascalCase) share the same default capabilities when their shape supports it: schema field metadata, Encode, Decode, Inspect, validation, and generated boundary tooling.

    See docs/01-syntax.md (Modules And Types).