Смотри, в связи с тем, что в С++ система типов более высокого порядка - в ней нельзя написать то, что показал адепт. Просто потому, что там нет подобной семантики. Поэтому реализовать это на С++ - это полностью реализовать семантику недоязычка, а не отдельную операцию