exchanges: make the main type tagged, and use prefix through the code to make it clearer