Edit visit method into Visitor\Asserter to easily extend/test it.

This PR improve readability, extensibility, testability for `Visitor\Asserter`
Or just no more using `$i` and `$id` in exceptions.