Reject on resolving a promise with itself.
Unit tests!
Add some pkg keywords.