Revisiting some of my old Rattle HDL design ideas for Python (with a Rust-based core) with an eye towards seeing how much you can make things work with a statically type checkable facade while doing metaprogramming behind the static type checker's back. This statically type checks with pyright: https://gist.github.com/pervognsen/fc6a19d6c021f49826beea0c8840cc53