DXN bytes (@bytes "...", base64 in text, raw binary in .dxnb).
Wraps a plain Elixir binary() — needed because string is also
a plain Elixir binary() (String.t() is not a distinct runtime
type), so a bare binary can't otherwise tell "UTF-8 text" and "raw
bytes that happen to be valid UTF-8" apart on re-encode. The same
kind of ambiguity Dextrin.Char/Dextrin.Symbol/Dextrin.Keyword
each wrap a bare value to avoid.
Summary
Types
@type t() :: %Dextrin.Bytes{data: binary()}