Is there any scheme implementation that is almost as good at REPL-driven development as Clojure or CL? (my first thought was to check which scheme the geiser emacs package recommends, but it doesn't seem to indicate which implementations are best supported)
I have not looked in detail at Scheme implementations in effectively forever, but recommend looking at Racket, since it has lots of extras bells and whistles of various forms, so seems to me more likely someone might have added good REPL support as well.
With Racket I've noticed that the language maintainers discourage sending smaller fragments of the application for evaluation. E.g. in DrRacket they deliberately don't provide a way to do that, even though all the pieces are in place (if they wanted to support that).
So I assumed the wider Racket community also shies away from that.
I have forgotten: Do recent Scheme RnRs specification documents say anything about def'ing a symbol more than once at the top level? If that is disallowed or discouraged, and Scheme implementations typically give errors in that scenario, that would go pretty far to making REPL-driven development a lot more difficult.
I'm not sure, but in the case of Racket it just seems to be a convention, as they think beginners are less likely to run into issues this way (explained in the first paragraph https://docs.racket-lang.org/drracket/Keyboard_Shortcuts.html#(part._.Sending_.Program_.Fragments_to_the_.R.E.P.L)).
For guile, there is nREPL-based emacs plugin. When I tried it, the experience was better than with geiser: https://git.sr.ht/~abcdw/emacs-arei