[racket] future
Perhaps go the other way?
(future/e <e> ...) ==> (future (lambda () <e> ...))
(thread/e <e> ...) ==> (thread (lambda () <e> ...))
(delay/e <e> ...) ==> (delay (lambda () <e> ...))
and so on? That is, accept defeat on the primary names, but occupy
the /e namespace for the macro versions, and whatever the suffix is,
keep it really short. There is precedent for offering macro/function
pairs in let/cc and call/cc.
(Yes, a programmer could do it themselves, but it's annoying to have
to write these over and over, and code is more readable if everyone
can agree on names -- my future/e may be your future-e may be someone
else's future/w/expr.)
Shriram