Monad transformers from `Traverse`

Initial contribution by @tixxit
migrate `ListT` to `TraverseT`
migrate `OptionT` to `TraverseT`