The cache currently puts the original function in it, so when the function is seen again, instead of being promisified, the original is returned instead.
e.g.
var a = { a: function(cb) { /*...*/ cb(); } };
a.b = a.a;
promisify(a);
a.b().then(/*...*/); // ERROR: Cannot call 'then' on undefined.