I have a long time been a evangelising concurrent ml. It generalises the actor model, and for me it has always hit the sweet spot between "do everything yourself" and "one inflexible way or the highway".
For example, if anAccount:Account then the following
anAccount.deposit[$5]
is defined as follows: Account.send[anAccount. deposit[$5]