private FunctionSignature GetFunctionSignatureMetadata(FunctionSignatureAttribute signature)
        {
            IList<FunctionSignature.Argument> args = signature.Arguments.Select(x =>
            {
                var parts = x.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                string type = String.Join(" ", parts.Take(parts.Length - 1));
                string name = parts.Last();

                return new FunctionSignature.Argument(type, GetKnownArgType(type), name);
            }).ToList();

            return new FunctionSignature(signature.Name, args) { Description = signature.Description };
        }
        private FunctionSignature GetFunctionSignatureMetadata(FunctionSignatureAttribute signature)
        {
            IList <FunctionSignature.Argument> args = signature.Arguments.Select(x =>
            {
                var parts   = x.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                string type = String.Join(" ", parts.Take(parts.Length - 1));
                string name = parts.Last();

                return(new FunctionSignature.Argument(type, GetKnownArgType(type), name));
            }).ToList();

            return(new FunctionSignature(signature.Name, args)
            {
                Description = signature.Description
            });
        }