Example:
const point = arb.from((pick) => {
const x = pick(arb.int(0, 100));
const y = pick(arb.int(0, 100));
return { x, y };
});
https://github.com/skybrian/repeat-test/blob/0567a73f07ada6e...It also lets you parse objects instead of generating them if you define a Domain instead of an Arbitrary, which I haven't actually needed much, but seems neat.
It does some shrinking without having to implement anything extra, but I haven't done anything with code coverage-guided generation. I'd like to try that sometime.