function isObject(value) {
    return value === Object(value);
}
Constructs a promise for an immediate reference, passes promises through, or
coerces promises from different systems.
@param value immediate reference or promise