Replace pragma once with ifdef header guards.
Move int to church_numeral and add namespace.
Change multiple typedef from 'value' to 'type'.