use real contracts for pin-over and pin-under
improve ->i's printing so it saves some of the source text of the dependent contracts