Using Scala 3 Opaque Types for Zero‑Runtime Encapsulation: An Architecture Note
Opaque types let a Scala 3 module expose a compile‑time distinct type while keeping a primitive representation at runtime. This note walks through requirements, minimal design, trust boundaries, operational checks, failure modes, and when to adjust the design.