oops, one of the four "Rank2Types" is actually "PolymorphicComponents" (I hadn't realized there existed a separate name for it, and LANGUAGE Rank2Types was sufficient to compile it -- is that latter a bug?) ~Isaac