traverse - better error message