diff --git a/docs/DESIGN.md b/docs/DESIGN.md index 95cb488..e5519cd 100644 --- a/docs/DESIGN.md +++ b/docs/DESIGN.md @@ -1138,10 +1138,9 @@ The trade-off this accepts: the schema permits `Term::ReuseAs { body }` where `body` is not an allocating form (e.g. a literal, a var). Such terms are caught at typecheck via a `reuse-as-non-allocating-body` diagnostic — structural rejection -in the typechecker, not the schema. This is the same trade-off -Decision 7 made for `Term::If`'s relationship to nested -`Term::Match`: prefer composability over schema-level -rejection where the typecheck rule is unambiguous. +in the typechecker, not the schema. The principle: prefer +composability over schema-level rejection where the typecheck +rule is unambiguous. **`TypeDef` attribute.**