Chained and inferredBuild a schema by chaining methods, then read its input and output types straight off it — no parallel type declaration to keep in sync.
Every failure at onceObjects and arrays check every field and every element, so one Result tells you everything that is wrong, each issue pathed to where it happened.
Never throws for bad datavalidate() returns a Result synchronously. A rejected value is issues, not an exception, so both branches are handled the same way every time.
Standard SchemaEvery schema implements StandardSchemaV1, so tools that speak the spec can use a pvl schema without knowing about pvl.