in hxt-monad worked on IOTree, IOList, IOSeq and StateSeq