I fear the answer to this is no. They have no shared inheritance so we get to loop twice :P