Make the shape of the deferred object clear up-front, as an attempt to preserve object shape optimizations.
`when` should shunt untrusted promises as well as plain values.