g) DnaSequence wraps the DNA nucleotides as a String. This is fine for short things, but for very large bits of DNA you need the freedom to implement the storage as you see fit. Could this be migrated to the CharSequence interface? This would allow a variety of strategies for storage e.g. offloading to SQL, packed encoding 2 bits for one base, NIO file-mapped buffers and so on.