A suite of tools for working with functions