explain on bytes (and other array functions) results in an unreadable form

Calling `explain` on a schema with `bytes` results in an unreadable form.

```clj
(explain bytes)
    => [B
```

I'm not fully aware of all the implications, but having `explain` return `bytes` in this situation seems preferable to me (and I think this would be a straightforward modification to `extend-primitive` to implement).  The other array extensions are similar.