Scala tries a lot harder than Swift to unify object-oriented and functional programming principles.<p>For example, in Scala operators are (IIRC) implemented as methods on objects, there&#x27;s a &#x27;Nothing&#x27; bottom type that is used for covariant generic parameterization, and ADTs are implemented using inheritance in the form of case classes.<p>Swift has no top-level object type or bottom type, and a lot of its more functional style features (ADTs in the form of &#x27;enums&#x27;, value types that enforce immutability) are completely divorced from the object-oriented part of the language.