treat functions just like values