The bind fragment of a Monad: the structural shape cannot carry unit — that
is the family's own constructor — so a family earns the name by proving the
monad laws with its unit in laws.spec. The shipped containers
(Result, Maybe, Result.Async) all do; a type you mint yourself proves its
own through the same harness.
The bind fragment of a Monad: the structural shape cannot carry unit — that is the family's own constructor — so a family earns the name by proving the monad laws with its unit in laws.spec. The shipped containers (Result, Maybe, Result.Async) all do; a type you mint yourself proves its own through the same harness.