This saves another few billion instructions. To avoid redundant `match_goal`s we use the new combinator `TT.with_goal_prop`.