From PR #1 review nits.
APSError.unknownKey can never be thrown (ArgumentParser rejects unknown keys first; the spec's own Error Cases section says so) and JSONCoding.decode is only exercised by tests. Both are documented spec exports, so removal means spec churn; keeping them means the contract documents dead code.
Acceptance criteria
From PR #1 review nits.
APSError.unknownKeycan never be thrown (ArgumentParser rejects unknown keys first; the spec's own Error Cases section says so) andJSONCoding.decodeis only exercised by tests. Both are documented spec exports, so removal means spec churn; keeping them means the contract documents dead code.Acceptance criteria