A value that is either void or an error
void
Construct success with {} and an error with { err: ... }
{}
{ err: ... }
type Void<E> = { err?: never; val?: never } | { err: E }
A value that is either
voidor an errorConstruct success with
{}and an error with{ err: ... }