public static void AddSignature(string name, SearchExpressionValidator.Signature signature)
        {
            name = name.ToLowerInvariant();
            string error = "";

            if (!SearchExpressionValidator.ValidateSignature(name, signature, ref error))
            {
                Debug.LogError($"Invalid signature for {name}({signature}) : {error}");
                return;
            }

            if (!evaluatorSignatures.TryGetValue(name.ToLowerInvariant(), out var signatures))
            {
                signatures = new List <SearchExpressionValidator.Signature>();
                evaluatorSignatures.Add(name, signatures);
            }
            evaluatorSignatures[name].Add(signature);
        }