ti: use AnonymousValue in ImmutableValueCollection and drop inner class
ti: log exception occurred when visited a node only once
ImmutableValue: limit nested recursion depth
record type could be inside a union type, extract it from there first.