i don't have any particular gripe with haskell but everything is a compiler or a database and i feel like pure functional style is good for the former and not so much the latter. and of course any actual compiler is also part database
i'm actually a mutability extremist. local mutable state is the root of all good in programming. all affine monads can be modelled as mutable state plus affine continuations and they often should be. unique references give the same ‘threading of actions’ but with sensible convention that it just always happens in reading order, and you don't need MonadState, MonadError, MonadIO, etc to handle wrapping because the effects sit next to each other, not around each other
