Implement useCounter({ initial, min, max, step }) that returns{ count, increment, decrement, reset, set }:
increment() — increase by step (default 1), clamp to max.decrement() — decrease by step, clamp to min.reset() — return to initial.set(n) — set to n, clamped to [min, max].solve(config, ops) drives the hook and returns count after each op.
Sample tests