Another great space of exercises in this vein are in-place operations on binary trees.
Specifically, rebalancing [1] proved particularly tricky for my students. I think it's a good litmus test for whether you understand ownership, borrowing, and algebraic data types.
[1] http://cs242.stanford.edu/f19/assignments/assign6/#22-bst-in...