I'd prefer we didn't expose a defaultdict, maybe using `aa_lookup.get(aa, []).append(codon)`? I just can't forget how Peter Norvig (director of research at Google) had a few bugs in some of [his code](http://norvig.com/spell-correct.html) due to defauldtics :S