Treat functions as first-class objects