It turns out options parsing is fundamentally hard. It looks simple at first, but then it turns out that if you want to support everything anybody could possible want, you end up with some too complicated to use. Nor is it obvious which &quot;middle ground&quot; is correct. It&#x27;s a perfect environment to produce exactly what we get, which is a bajillion options parsers for every halfway mature language in the world.<p>Also, that&#x27;s not 400 lines of parsing code, that intermixes &quot;parsing&quot; and generation all together.<p>Mind you Go is not a good language for writing parsers in. (It isn&#x27;t <i>especially</i> bad, like, say, C, but it lacks almost every conceivable feature that could make parsing code anything other than very, very verbose.)