Submitted version with template changes
Merge branch 'master' of https://github.com/sumitani/cpp4c