@type t() :: 0..4_294_967_295
@spec calc(term()) :: t()
@spec max() :: t()
@spec min() :: t()
@spec valid?(any()) :: boolean()