ByteStreamDecoder might be a better alternative than Unicode.Encoding because:
- endianness and byte-order marks could be supported,
- conformance wouldn't require both
ForwardParserandReverseParser, - name lookup could return an instance rather than a metatype.