Prevent 'Show TypedTerm' instance from looping

I rewrote it by hand following the showsPrec docs.
Tests would be helpful, but meanwhile observe this:

> wrapTypecheckPull [pts|*|] [] Nothing
Right (MkTypedTerm (Const (C 1)) (MkTypedTerm (Const (C 2)) <self>))

`wrapTypecheckPull` is coming in next commits :-)