I've just realized that if you have the following type:
@schema
type t = {
foo?: @s.nullable string,
}
sury-ppx will generate:
let schema = S.schema(s => ({
foo: s.m(S.option(S.string))
}));
I would have expected:
let schema = S.schema(s => ({
foo: s.m(S.option(S.nullableAsOption(S.string)))
}));