@opaque t()
@spec new( strict: boolean(), gt: number() | nil, lt: number() | nil, gte: number() | nil, lte: number() | nil ) :: t()