On complex schemas the type errors produced are not very clear. We could possibly use the `Prim.TypeError` module to make them clearer.