Make TR contract generation not wrap everything in recursive contract.

Eta expand struct predicates, as this was the reason for recursive
contracts in the first place.

Closes PR 14611.
Replace procedure-rename with eta-expansion.

Closes PR 14612.