adds traverse methods to either and future