chains: minor fixups
chains: minor fixups

* remove unnecessary clone
* comment formatting
* fix bug with `?` collection
* respect the heuristic if the root is more than just the parent

rust-lang/rustfmt,graydon/rust,SingingTree/rustfmt,graydon/rust,graydon/rust,aidancully/rust,rust-lang/rustfmt,aidancully/rust,graydon/rust,graydon/rust,SingingTree/rustfmt,aidancully/rust,aidancully/rust,aidancully/rust,graydon/rust,aidancully/rust