Revert "De-share ast::Ty"

Revert the removal of the `@` from `Ty` as I think it caused the memory regression seen here in #7615. The graph posted on that PR is from before this change.

Since `Ty` is a recursive type, I think that the change from `@` to `~` meant that a copy that would previously stop at the `@` continued. It seems to me that during syntax folding, the data was being kept around somehow, causing the bloat.

This reverts commit 47eca2113c5c55a4ffbb8c11a38c8ca7a79a1d72.