The basis of Erlang/Elixir/Clojure is that structs are just inflexible maps.
So, this is trying to tackle and type this instead.
It’s not wrong, just a different vision.