I think your insistance on structural typing may be keeping you from learning some great modern languages, such as Kotlin and Scala. Scala taks a lot of inspiration from Haskell and the ML family of languages, including OCaml, and combines it with OO really well. Kotlin started as a “Scala-lite”: the same object model, equally powerful type inference, but faster to compile and easier to learn.
Your issues with structural language seem to be flexibility and bloat. Languages which can convert between types efficiently – as functional languages need to do – limit the scope of this problem. You should see how languages like Scala, Kotlin, and Swift produce efficient runtime types (such as primitives and arrays) from higher-typed language structures.