modify to separate codes on coroutine and REPL from waql.lisp