only traverse lists that are unmarked
and don't traverse reachable objects either