Branded y opaque types en TypeScript | Nicolás Garzón