Would it be better to make the default implementation of compare throw instead of returning a nonsensical value? Then we can just not have any compare for AAs since it doesn't really make sense to impose ordering on AA's.