Beyond the basics? I'd say treating functions (etc.) as first-class objects; beyond the obvious applications in functional programming, getting acquainted with functions being objects like any other teaches you to take a step back and abstract/generalize, and that's often very useful no matter what you're doing.