“Концепти” на C + +

Всім доброго часу доби. Придумано і написано під впливом деяких публікацій Страуструпа на тему концептів в C + +.Захотілося мені одного разу незвичайного – зробити так, щоб нешаблонні функції / методи на C + + могли приймати в якості аргументу будь-який об’єкт, що має певний набір методів, приблизно так: