Coming from @Romm's Valinor design, Zod feels like a step backwards.

Instead of declaring language-level symbols, one seems to assemble complex DTOs made of Zod types.

It's type-safe, but it's really sticky, and you end up not being able to use a native type anymore? 🤔

@ocramius I guess TypeScript does not have a standard like the one PHPStan/Psalm gave us with PHPDoc?
Eight Queens Puzzle in TypeScript’s Type System

Eight Queens Puzzle in TypeScript’s Type System TypeScript’s type system is powerful enough to find a solution to complex problems without ever writing a value. Let’s look how! This article …

Medium
@ocramius weird design choice then, maybe there’s a logical explanation. And now I’m curious to know why 😛
@Romm it kinda is like "let's use `psl/type` for everything", heh
@ocramius I see. Powerful, but you're forced to be tied to the library.
@Romm exactly, which is what puzzles me...
@ocramius @Romm beacuse you can't "reflect" typescript maybe?
@dantleech @Romm it doesn't need to be at runtime 🤔
@ocramius @Romm went down a minor rabbithole and apparently you could do it with a transformer plugin, like this thing: https://typia.io/
Typia Guide Documents

TypeScript Type Framework

Typia Guide Documents