Added some comments and a bit of code while realizing I may be reinventing CanBuildFrom.