add some more instances, e.g. Church numerals