private function autoDetectType($value)
    {
        if (is_array($value)) {
            foreach ($value as $val) {
                if (!is_numeric($val)) {
                    return Type::STRING_SET;
                }
            }
            return Type::NUMBER_SET;
        } elseif (is_numeric($value)) {
            return Type::NUMBER;
        } else {
            return Type::STRING;
        }
    }