Is there a category for functions that can be implemented in terms of each other?