Perfect forwarding eliminating need for two overloads. Several remarks constraints added. Remove std:: where not needed, and from examples.
Daniel's first nine items applied. Work in progress commit before attacking the remaining items.
Add more test cases. This stuff should have been committed last May.