Neat trick! 

However, it doesn't seem to support arbitrary bases. What about these being normal methods `fn base(&self) -> u8` and having
```rust
pub struct Binary;
impl Radix for Binary { fn base(&self) -> u8 { 2 } /* ... */ }
pub struct Octal;
// ...

pub struct GenericRadix { priv base: u8 }
impl Radix for GenerixRadix { fn radix(&self) { self.base } /* ... */ }
```

which would give the best of both worlds: static resolution, and flexibility.