Could you add support for async scalar resolvers, e.g. add optional `encodeAsync` and `decodeAsync` methods: ``` export type ScalarResolver = { encode?: (s: unknown) => string; encodeAsync?: (s: unknown) => Promise<string>; decode?: (s: unknown) => unknown; decodeAsync?: (s: unknown) => Promise<unknown>; }; ```