BREAKING CHANGE: this allows multiple schemas to coexist, but requires each schema to be created with a call to `createSchema`, taking a set of options that includes the former `includeOptions` singleton.
BREAKING CHANGE: extract typed errors and use the equivalent from js-utils