Make deriving workarounds less ugly for now

rust-lang/rust#18738 still [seems broken](https://github.com/rust-lang/rust/issues/18738#issuecomment-65889346), but this makes the impls a tad less ugly...