instead of manually bitcast, use the handy dandy takeStruct function.
This passes tests but it doesn't provide as big a window size as is required to decompress larger streams. The next commit in this branch will work towards that, without introducing an additional buffer.