Let's make it generic over types which are SwiftInstances. Byte arrays may get specialized later on, we'll see.