## MLton 20241230

# PhantomType

A phantom type is a type that has no run-time representation, but is used to force the type checker to ensure invariants at compile time. This is done by augmenting a type with additional arguments (phantom type variables) and expressing constraints by choosing phantom types to stand for the phantom types in the types of values.

## Also see

- Blume01

  - dimensions

  - C type system

- FluetPucella06

  - subtyping

- socket module in Basis Library