I will probably adopt this in all future Ruby projects. Here’s why:
One of the best properties of golang is that type checking and formatting are fast enough to run basically on every key stroke, so that you get instant feedback on errors and, once the errors are gone, a small unit of development is likely correct.
You can upgrade-in-place a project gradually to create a typed core. This has felt enormously powerful.
That core is often fuzzily defined.
(Thin controllers and views, in my experience, don’t need much.)
We are quite invested in Ruby. If you’d also like working on this: stripe.com/jobs