类型状态、newtype 与编译期不变量的语言机制参考。CRITICAL: 让非法状态不可表示,或需要 PhantomData/sealed trait 时使用。 Keywords: 类型驱动设计, 类型状态, 编译期验证, type state, PhantomData, newtype, marker trait, sealed trait, ZST, builder pattern