Pointfree version
Merge