class run-loop-scheduler;
class run-loop-sender;
template<class Rcvr>
struct run-loop-opstate;
run_loop() noexcept;
~run_loop();
run-loop-opstate-base* pop-front();
void push-back(run-loop-opstate-base* item);
run-loop-scheduler get_scheduler();
void run();
void finish();