bit about RWS monad/intermediate type