renamed to swig-promise