public void RecursiveDelegates1_param()
        {
            const string id = "d:[?] [n.C+D, P].([n.C+D, P] p)";
            var          ps = new DelegateTypeName(id).Parameters;

            Assert.AreEqual(1, ps.Count);
            Assert.AreEqual(id, ps.First().ValueType.Identifier);
        }
        public void RecursiveDelegates2_param()
        {
            const string id      = "d:[?] [n.C+D, P].([T`1[[T -> n.C+D, P]], P] p)";
            var          paramId = "T`1[[T -> {0}]], P".FormatEx(id);

            var ps = new DelegateTypeName(id).Parameters;

            Assert.AreEqual(1, ps.Count);
            Assert.AreEqual(paramId, ps.First().ValueType.Identifier);
        }