As a former programmer, I am curious about why you'd use ushort in this day-and-age instead of 32-bit integers. The performance hit is zero on modern processors, memory is so plentiful, and even caches are so large that for the quantum of records we're talking about there isn't a need to limit it that I can see, and locking yourself into unneeded constraints is never a good idea, even if you can't see that at the time. This is a genuine question, by the way - does anybody have any insights as to why you'd do this? I speak as someone who's bent over backwards writing hand-crafted assembly to get functional programs working within a 256-byte (yes, BYTE, no prefix) limit, but who isn't up-to-speed on the current software development environment.