Simplifying your Design with Higher-Order Functions