Small issue: I'd move `letters` below `uppercase`, it uses it as an initializer so it's a bit more natural seeing `uppercase` declared before it's used. These immutables don't seem to be ordered alphabetically, so I think it's ok if you swap the two around.