New ListT and OptionT refactoring