# Explicit Types

> The requirement that values crossing a boundary carry explicit, declared types rather than open-ended ones.

Record: `lexicon:explicit-types`
Kind: constraint
Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-explicit-types

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Dynamic Untyped Boundaries](https://banes-lab.com/records/lexicon/dynamic-untyped-boundaries.md) and before [Rapid Scripting](https://banes-lab.com/records/lexicon/rapid-scripting.md).

## Category

- [Schema / Canonical Data / Semantics](https://banes-lab.com/records/lexicon-category/schema-canonical-data-semantics.md)

## Required by

- [Type Safety](https://banes-lab.com/records/architecture/type-safety.md)

## Linked from

- [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/principles/architecture-category-schema-canonical-data-semantics.md)
