Oh good to know and I stand corrected. I guess if you can opt-in with a syntax (like dyn does in Rust), this kind of in-the-middle generics could be a nice addition to systems programming languages. However, we need a GC-less solution of course.
> The axiom is “monomorphic data, polymorphic code”. In other words, unlike languages like Haskell and OCaml that generally rely on uniform representations (boxing) to enable polymorphic code generation, data layouts will stay the same under polymorphization, and only function ABIs will change. [...] Go’s gcshape is somewhat analogous to our concept of data layouts.