right you could use it to traverse diagonally.  Personally I think you could get rid of this part of it to simplify, and to remove the danger of `includes` in both directions of an association resulting in an endless loop.  I'd rather see simpler than more code to solve that problem by marking models as we visit them or something like that.