¿Es posible hacer cumplir que un Registro respeta a algunos invariantes?

Supongamos que quisiera crear un tipo de registro que represente los límites mínimo / máximo aceptables:

type Bounds = { Min: float; Max: float }

¿Hay una manera de hacer cumplir ese Min <Max? Es fácil escribir una función validateBounds, me preguntaba si había una mejor manera de hacerlo.

Edit: Me di cuenta de que para este ejemplo específico probablemente podría salirme con la idea de exponer dos propiedades y reordenar los argumentos, así que digamos que tratamos de hacerlo

type Person = { Name: string }

y el nombre debe tener al menos un carácter.

Respuestas a la pregunta(3)

Su respuesta a la pregunta