Yuck. This is a really nasty hack, and people *will* forget a `#[deriving(Iterable)]` from time to time, leaving it much less usable. The only reasonable solution is to automatically implement it, which probably requires function specialisation to be implemented (mozilla/rust#7059). Would it be feasible for us to start looking in that direction rather than piling `#[deriving]` upon `#[deriving]`, line upon line, here a little, there a little?