Instead of doing stuff like:
const schemaPointer = subSchema.$ref.split('#').pop();
const schemaId = subSchema.$ref.split('#').shift();
we could do stuff like this, in more places:
const targetSchemaURL = new URL(targetSchemaId);
const layeringSchemaURL = new URL(schemaId);
const targetSchemaURLPathParts = targetSchemaURL.pathname.split('/');
const layeringSchemaURLPathParts = layeringSchemaURL.pathname.split('/');