I'm running into a dilemma where neither convexToZod nor zodToConvex feel practical.
If I represent the schema in convex, then I'm able to use v.id() which is useful for foreign table references.
If I represent schema in zod, then I'm able to use z.discriminatedUnion() which handles parsing more efficiently than z.union. In addition, we're able to get more precise validations.
It seems necessary to represent the schema in zod no matter what. But would there be a way to use v.id() with that? Or am I stuck maintaining two schemas for non-independent tables?