Note to self: use “point-free” curried type synonyms, eg
type ActionH = ActionT StateH
, not
type ActionH a = ActionT StateH a
. Type synonyms are substituted “as is”, so if you use the latter format you wouldn’t be able to use the type in partially applied setting:
ReaderT ActionH a
won’t type check