Jeremy is correct, Hash#[] (and Array#[]) have optimized dispatch.
I hardly see Hash#fetch used anywhere, and optimizing dispatch for
uncommon cases hurts performance of common cases.

P.S. even if Hash#fetch were optimized, it would still be slower
because it has optional args to parse.