bind for StateT
working through StateT