closer to where I wanted to be. Everything is applicative, only some
things are traverse