Final cleanups: rename companion, add comments, move implicits-template

Adapt test so it compiles
Remove old TODO