> it's more readable than using `setterProc.params[2][0]`
You don't have to use `setterProc.params[2][0]` with your first approach (with `quote do`). Just `value` works - identifier will be resolved in the procedure being transformed, not in macro. Oppositely, to use the macro's symbol, you have to quote it with backticks. So what you had to change in your first example is to add backticks around `limit` (like in _Krux02_'s example), using `value` as is (just with `.len` appended).
