I love the fact that `changeOwner` is exposed on `Tree`, rather than on `Symbol`. We have some [terrible bugs](https://github.com/scala/scala/commit/2c770ae31a71d5beece4753ce4d43265036ee477) in `scalac` whereby speculative typechecking (e.g names/defaults) changes the owner of a symbol before bailing out, which breaks the immutability of `Trees`.