So maybe there should be a flag on init for the underlying datatype to use, `float32` or `ubyte`. Then there can be access functions that will automatically convert between them using copies if necessary. Thus the user can pick and choose tradeoffs. WDYT?