On the one hand, the complex ragel solution is explicit about the config syntax
and requires little heavy lifting on the Go side, but the ragel definition is
overly complex, too rigid and produces bloody huge binary output. On the other
the simple ragel solution can provide pretty much the same syntax with some
type conversion, but the reflection magic to pack this into objects correctly
is done much better by the JSON module. Forcing parsing of everything tostrings
results in lots of nasty if/case statements in the Go code.
JSON has another benefit in that the config serialisation is two-way, allowing
for web or IRC based configuration. It's a pity it's a bugger to edit by hand.