acceptOrTraverse -> returnOrTraverse