public static function keyExists($value, $key, $message = null)
    {
        if (!array_key_exists($key, $value)) {
            throw new InvalidArgumentException(sprintf(
                $message ?: 'Expected array key %2$s to exist',
                Helper::typeToString($value),
                Helper::valueToString($key)
            ));
        }
    }