ByteWriter and StringWriter were returning n-1 bytes written which was causing io.Copy to error out with a ShortWrite. This would cause files that were larger than the io.Copy internal buffer (32 * 1024) to stop after the first chunk.
unsafe
reflect