I second taking a look at Clojure.
Also, your comment of:
The world is imperative! Things have state! We do not live in an imaginary fluffy world of mathematical elegance & correctness.
I would check out article by Rick Hickey on state on the Clojure website:
It will get you thinking about how often your objects really need to have "state".