a
Из ридми на пару предложений вообще не понятно, что за модуль и как он может кому-то пригодиться в жизни.
Не понятно, что такое _dop когда читаешь сверху вниз. Добавь хотя бы однострочный коммент чтобы было понятно.
В стр.54 для старых перлов нужно добавить явное определение sub _dop;
Ещё может сразу уйти от dclone?
В чём смысл:
unless ( $cb_chainer ) {
unshift @_, $promise;
? Что если то, что попало в $promise не умеет в then?Типа
async as {bless [13], "main"};
нужен для того, что бы можно было не только промисы запихивать. Когда чейнишь промисы в then можно возвращать как thenable, так и простые значения. Этот случай как раз распространяет синтаксис на простые значения. Там в пределе вообще ни одного промиса может и не быть, при этом в качестве результата вернётся простое значение. Это довольно удобно при отладке (заменить шаг с созданием промиса на хардкодное значение).