Renamed `Abs' (`abs') to `All' (`all')
Added two constructor functions; refactoring
Converted into monadic style
Refactoring and reformatting