[RFC] First-Party Support for LLVM Types

This is already answered in the RFC:

The recursive context is only within a single type, so we always print the full context for the first instance of that type. This does not apply to two different prints, i.e. your example would be something like:

!llvm.struct<"A", ptr<struct<"B", ptr<struct<"A">>>>>
!llvm.struct<"B", ptr<struct<"A", ptr<struct<"B">>>>>