Previously when we static_casted from uint8_t[] to T[] we ended
up not properly initializing the objects in the array. This caused
issues where garbage memory provided by new was treated as a legitimate
object.
Potentially in the future it would make sense to back vectors with
a simple byte array and do memcpys to move objects in and out as
needed.