Here's an opaque type wrapping numbers, in JavaScript:
class Age { #value; constructor(value) { if(typeof value != "number") throw new Error("Not a number"); this.#value = value; } }