Have you seen ArkType (https://github.com/arktypeio/arktype)? Similar parse-based approach to validation with a significantly more concise definition syntax:
const info = type({ name: "string>0", email: "email" })
const info = type({ name: "string>0", email: "email" })
Are there any compelling reasons to switch apart from the difference in syntax?