improve the routing mechanism by augmenting the routing error type with ...

...some information and a sound monoid instance. this addresses #10