To resolve this, I introduced middle instances of `ReflectionVisitor<T>` type. (c9c47a9)