Container. Component. Context. Graph. I would think a "wonderful language" such as Rust should have no problem with such a basic conceptual setup, but apparently not. I personally am solidly in the adaptive components camp, specially for things like UI.
If you know Rust (I don't), curious if the monadic approach could work, propagating the state as a parameter.
That's quite weird. These traits don't look like rust's traits, which really are a port of typeclasses from Haskell. I think the section about scala illustrates this well because scala's "traits" are an OO construct, but now scala 3 also" has typeclasses. So... Rust still isn't OO.
"Component Software: Beyond Object-Oriented Programming"
https://www.amazon.de/-/en/Clemens-Szyperski/dp/0201745720
"Authoring ActiveX with VB 6"
https://learn.microsoft.com/en-us/previous-versions/visualst...
"Traits - Composable Units of Behavior"
https://scg.unibe.ch/research/traits
"Working with Protocols"
https://developer.apple.com/library/archive/documentation/Co...