this fails because we only represent numbers using ushorts and can't represent negative numbers like this. If we move to using shorts - then we can't index into memory locations over 32k unless we do some kind of offset when indexing... possible..