protected function formatValue($value): string
    {
        if (is_null($value) || is_scalar($value) || (is_object($value) && method_exists($value, '__toString'))) {
            return (string)$value;
        }

        if (is_object($value)) {
            return '[object ' . get_class($value) . ']';
        }

        return '[' . gettype($value) . ']';
    }