シナジー
二つ以上のものごとを組み合わせることによって、より大きな効果を生み出す相乗効果(synergy)のこと。あえて形式的に書くとすれば、効果の大きさを求める関数をUとしたとき、U(a * b) > U(a) + U(b)となるような組み合わせ方(*)と要素a, bがシナジーを持つと定義できる。
シナジーを持つ例
ReaderTと並行処理: 状態を参照型などでまとめつつ複数のスレッドで共有できる。
STMと永続データ構造: 不変であるがゆえにトランザクションに失敗した時に元に戻せる。