Better use of a partially applied function, and a nicer print function