Types are Values ◦ 値と型を区別しない ◦ 型による制約や検査がシンプルに記述できる • 制約によるデータ生成 ◦ CUEは継承のような仕組みを持たず、 結合の順序に関係なく一貫した結果を生成できる • プログラマビリティ ◦ Templatingやmodule化などが行える ◦ Go APIやProtocol Buffers, OpenAPI をサポート // Type replicas: int // Constraint replicas: >2 // Value OK replicas: 3 —--------------------- // if set an invalid value replicas: 1 replicas: invalid value 1 (out of bound >2) Types are Value 23