Thank you both. What I want is something closer to what Oak wrote, but that addresses only *checking*, whereas I also want the convenience of defining the module.
So to use Oak's example, I want to be able to write #lang racket/base (provide-if-not-defined + - *) at the top of *all three files*, but in test-b.rkt, also write (provide [rename-out (my-+ +)]) So yes, if it turns out, say, `*` is not in racket/base, then all three files will indeed give me an error (at definition), like Oak's checker would. But this also reduces error by letting me duplicate the interface across files, while still being able to override parts of it, like in test-b.rkt, without producing an error that + is being exported twice. Shriram -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAJUf2yQ7L1p%3DSxeGzSt3WVKKYaNz0i9C8FgcRWs4z_otGZc_Wg%40mail.gmail.com.