結論がやや過激だが概ね同意できる。 optional typing は良さそうだと思うので contracts gem を試してみたい。
ドキュメントとコードを重複してメンテナンスしなければならないのは悪いことばかりでもなく、怠惰な開発者にもドキュメントを維持させる強制力があるというやや後ろ向きの理由でありかなと思う。
バイナリパッケージングについては、 MRI に求めるのは違うと思う。 mruby が答え…というわけでもないのか。 Hacker News のスレッドで traveling ruby も触れられてたが、ちょっと違う気もする。
Go や Rust と比べて(その機能がないせいで)見劣りするというのは間違いだと思う。バイナリを吐けたら吐けたでバイナリのサイズとか最小必須メモリとか、リソース関連で比較されるはずで(差がわかりやすいから)、そういうのを見越してデザインされた言語に敵うとは思えず、むしろ逆に見劣りする部分を強調してしまうと思う。
なんでも Go で書くのはどうかと思うのと同様に、なんでも Ruby でやりたがるのもどうかと思う。プログラミング言語には少なくとも個性があり、個性を引き立てる使い方をしてあげるのがプログラマのたしなみというものだろう。
react-rails は使ったことがないが、 React は View のライブラリに過ぎないという識者の意見を鑑みるに、これもけっこうありなんじゃないかという気がした。
Peek と Bullet は知らなかったのであとで試す。