Point free decode version