Simplify the types, by making Wrap more complex
Add foldl