function objectValuesIn( obj ) {
	var out;
	var key;
	if ( !isObjectLike( obj ) ) {
		throw new TypeError( format( 'invalid argument. Must provide an object (except null). Value: `%s`.', obj ) );
	}
	out = [];
	for ( key in obj ) { // eslint-disable-line guard-for-in
		out.push( obj[ key ] );
	}
	return out;
}
Returns an array of an object's own and inherited enumerable property values.

@param {ObjectLike} obj - input object
@throws {TypeError} must provide an object-like value
@returns {Array} value array

@example
function Foo() {
    this.beep = 'boop';
    return this;
}

Foo.prototype.foo = 'bar';

var obj = new Foo();

var values = objectValuesIn( obj );
// e.g., returns [ 'boop', 'bar' ]