see comment about `markAndExpand` above.