Promisify should complain if the async or finish function doesn't exist
Currently, a promisify call such as
Gio._promisify(Gio.Subprocess.prototype, 'commuicate_utf8_async', 'communicate_utf8_finish');
will silently fail because of the typo in the async method name. Until you try to call the method, which is not promisified.
Ideally promisify would throw an exception if either method does not exist.