Fixed #1: Fix typo and use TraverseState if no state is provided