3.3.1: If `promise` and `x` refer to the same object, reject `promise`
with a `TypeError' as the reason.