I mean the trivial answer to all three of those is Haskell, but I'm guessing that's not the language you're looking for?
Haskell has implicit returns, fully static typing with good errors when typing doesn't match (good errors debateable, but I find that they make sense at least when you understand the type system), and is 90% expressions. (things in do
blocks are arguably statements).
I think if you added "uses both expressions and statements pervasively" to the list, then you wouldn't have any (popular) languages. Even without that, haskell's errors being good are debateable.