9 Oct
                
                    2006
                
            
            
                9 Oct
                
                '06
                
            
            
            
        
    
                2:50 p.m.
            
        Thanks Misha & Matthias. I now get what's going on. The mention of the word "dictionary" revealed it all. I've spent the last 7 years programming in C++, and had dynamic_cast<> firmly fixed in my head. I totally forgot that Fergus Henderson and I independently reinvented dictionary passing for the implementation of Mercury circa 1995. :-) I also realized that the concrete signatures from my actual application don't quite satisfy the requirements anyway, and that the problem evaporates when I get the signatures right.:-) T.