In using Smalltalk, you are not compelled to use deep inheritance. Smalltalk is a pretty flexible language. You can use as much or as little of class hierarchy as you like. The built-in Smalltalk class library is extremely rich and powerful, and this makes for an excellent starting point.
Moreover, with Smalltalk’s blocks and closures, you can do a lot of functional-style stuff, too. In fact, it is this combination of OO and lambdas that makes Smalltalk so incredibly powerful.