In what sense do you think that potential problems arise?
When code is only tested one one implementation, which deterministically returns e.g. the last value.
An expression like "(set! <identifier> <expression>)" could, in principle, return the value, which is assigned to the identifier.
Common Lisp's setf and setq do that, per the spec.
From a theoretical point of view, the only convincing stricter semantics would be to return no values (as per "(values)").
(values) would be a decent choice. (Optimizers can omit the return value where it's not used, so there ought not to be a performance penalty for specifying a value.)
More generally, RnRS has a bunch of places where the return value is undefined. So perhaps a universal convention for what to do about undefined returns would be more productive than addressing the problem in only one SRFI.
