This is especially convenient when building input arguments that have dependencies between them (startDate and timezoneOffset for instance)
For example, in Zod it would be:
z.object({ hello: z.string() }) .transform(({ hello: world }) => ({ world }))
z.object({ hello: z.string() }) .transform(({ hello: world }) => ({ world }))
I know that Schema works both ways and the Zod definition is not enough. But I think it can make total sense to have a simplified encode/decode function pairs for easy transformations.
Is that planned or possible to implement in userland?