What I can't yet say is whether a user can understand whether they "need" the delay capabilities or not based on an operator.

If they pass in an `Executor` implementation to an operator needing delay or time then perhaps it should throw a `IllegalOperationException` or something like that rather than using `Thread.sleep` so they catch it in dev.

I agree `Executor` is common because it's the base interface but it also does not support everything an operator may call against a `Scheduler` so we can't just pretend that it does.