We should look at graphql-scalars
for compatibility. And Pothos' concept of Input and Output for scalars.
We should also see how Strawberry and Juniper address this.
Specifically, we need a way to let users define these bits of a custom scalar: https://github.com/graphql/graphql-js/blob/688ee2f2a2f938e80bcf3808bc435d3d87a3ff3e/src/type/definition.ts#L548-L551