Covariance and contravariance is another example. I think. I could be wrong.
Bart De Smet says: "Lots of dualities exist in various disciplines, providing for great knowledge transfers between different domains. For example, in formal logic, De Morgan’s law allows converting expressions built from conjunctions into ones built from disjunctions, and vice versa. In electronics, similarities exist between the behavior of capacitors and inductances: know one and how to go back and forth between domains, and you know the other. Fourier calculus provides duals between time and frequency domains." Interesting.
They also call System.Reactive the dual of System.Interactive. So most of the functions in one of the assemblies has it s dual in the other. To clarify, it s not just that IO is the dual of IE, but the functions that operate on them are also dualized.
So to answer your question, many dualized interfaces exist. You can dualize any interface. You just swap inputs and outputs and the direction of the function. Some won t be useful, or will be the dual of themselves. However, sometimes there are really powerful ones hiding waiting to be uncovered.