Module type Relude_HMap.WITNESS

WITNESS captures a type t with a Witness module for that type. Because Witness.t(_) is an extensible variant, we use += to add a constructor to that type.

This is useful because the type t is unified with the type t hidden inside the Witness module.

type t;
type Witness.t += Witness : Witness.t(t);