Resp

:= [
    Array(List(Resp)),
    BulkString(List(U8)),
    ErrorReply(List(U8)),
    Integer(I64),
    NullBulkString,
    NullArray,
    SimpleString(List(U8)),
]

A semantic RESP2 value.

String-like values contain bytes rather than Str, because Redis replies may contain arbitrary binary data. NullBulkString ($-1) and NullArray (*-1) remain distinct. An ErrorReply is a valid server response, not a protocol decoding failure.

bulk_utf8 : Str -> Resp

Construct a bulk string from UTF-8 text.

simple_utf8 : Str -> Resp

Construct a simple string from UTF-8 text.

error_utf8 : Str -> Resp

Construct an error reply from UTF-8 text.