# Composition Expression composition expression は、複数の値・制約・構造を合成する式である。 ## `&` `&` は制約を保った合成を行う。 ```dcdl Port = Int & >= 1 & <= 65535; Config = MyConfig & { port = 8000; }; ``` object 同士では片側だけにある field も保持するため、`&` は方向を持たない。 左辺が右辺より狭いことを確認し、右辺を field domain として合成したい場合は [`as`](./ascription.md) を使う。 ## `//` `//` は右辺優先の構造的 patch を行う。 ```dcdl Patched = Base // { feature_hoge.enable = false; }; ``` 詳細は [合成演算子](../operators.md) を参照する。