Functions as first-class objects