yarmi::invoke() rewriten