Dobře si ten můj příklad prohlédněte. On totiž pro jeden typ chyby dělá return z vnější funkce. Sice nepřímo, díky Err a otazníku, ale dělá.
Placeholder je hodnota, která se použije v případě chyby. Například, když něco neexistuje. Zkuste to v Golangu, uvidíte, že ten kód začne vypadat o dost hůře.
Žádný zásadní problém s čitelností zrovna v tomto případě nevidím, je tam blok se syntaxí, kterou mnozí znají třeba z Ruby. On ani ten otazník není nový, viděl jsem ho už v JS a Swiftu (Optional chaining). V Golangu je zase neobvyklý středník uprostřed ifu, i když logiku i historii má (C a syntaxe for).
Go někdy možná mírně vede v čitelnosti (ale i to je hodně subjektivní), ale jen díky tomu, že nemá některé z pokročilých vlastností těch ostatních jazyků. Vím, že to byl úmysl, ale i ta generika nakonec přidali. Trošku mi to historicky připomíná situaci ohledně Java 1.4 vs. Java 5 (= poněkud nešťastně udělané generické kolekce).
Zig syntaxi osobně považuji za ještě méně čitelnou než Rust, ale je to spíš zvykem, protože jsem Zig přeskočil. C++ a čitelnost (obzvláště v přítomnosti meta šablon) také nejsou slova, která bych použil v jedné větě.
Na druhou stranu je C++ možná lepší pro DSL styl programování, protože v něm funguje přetěžování operátorů (a Python tady září). V Rustu to jde přes generické funkce, ale to už jsou znaky navíc.
Je velice snadné vybrat si jeden konkrétní příklad a pak na něm ukazovat, že kdokoliv to zapisuje jinak je nějak méněcenný. Najít protipříklad by nebylo těžké.
Jinak si jsou některé koncepty z Golangu, Rustu a dalších už hodně podobné, všichni sledují ten samý pokrok v oblasti programovacích jazyků. Jen tomu občas říkají jinými jmény.