Make Exchange and related classes covariant