We should support
- Float16
- ComplexInt
- ComplexFloat
For the Python API we'll have to check which of these are supported by the buffer protocol. We may also want an Array.as_numpy method to support data types like complex int that aren't supported by the buffer protocol. We can manually load the buffers in Python and cast to complex int.