This looks a lot less annoying than Typescript, particularly how dynamic() is a lot more useful than any()
I also wonder if this works well with Ruby’s duck-typing and monkeypatching.