breaking compatibility: functional.visit logic is changed