peano number and booleans from scratch