public static function proxy($value, $isRecursive = null)
    {
        if ($value instanceof SafeInterface) {
            return $value;
        }
        if (is_object($value)) {
            return static::proxyObject($value, $isRecursive);
        }
        if (is_array($value)) {
            return static::proxyArray($value, $isRecursive);
        }

        return static::proxyPrimitive($value);
    }