<p dir="ltr">Beware: if you go with Either and combine Either ops with >>=, first Left result stops evaluation and returns 1st Left result. Right results continue evaluation. If this is expected, Either fits.</p>
<p dir="ltr">If more ops are expected after 'update count' no-op (if Left stands for Frozen), then Either and >>= should not be used together.</p>
<p dir="ltr">Algebraic type (Flex count | Frozen count) is also suitable. Let the calling functions decide how to process Frozen values. At least they'll know the difference.</p>