IsPromise is meant to test for "real" promises. A better test would be an RSVP subclass, which would pass IsPromise, but fail the constructor check.