generated at
まずatomicに分節する

考えている対象や操作に対する最もatomicな単位に分解する
例えば、recordを定義したらそれに含まれる全peropertyに対するgetterを用意するイメージ
これ以上分解できないという極論のatomicを常に考えるように意識する

ただし、それを全部atomicに実装するのは色々面倒なので、実際は妥協する
やりすぎると早すぎる抽象化っぽくなるかもしれないし、
単純に、記述量がめちゃくちゃ増えるかもしれない
ただし、そこは妥協しているという気持ちを持って妥協する

スケジュールを立てる前に、タスクの洗い出しをするのに似ている


何らかの方針に沿ってグルーピングし、構造を作る
このときに、縦に切るか、横に切るかのような話が(逆向きに)生じる
そこに抽象化の筋のようなものが現れる

グルーピングについても、atomicにやるなら、全ての組み合わせを想定すべきということになる

たぶん。
でもほんまか?という気持ちもする
この反例を具体的に出せるとスッキリしそう
これが本当なら、EitherとかIOとかをatomicに分解していけば、最終的な要素としてpureやjoinが出てくるのかもしれない

抽象化と逆の作業をいったんすることになる
一時的にちょっと考えることが増える


そもそも適切に分節することは難しい問題もある