Constant Generator with value boxing

I don't know if the for() here is needed as by contract the result of a shrink() can only depend on the input (for now)