Added Peano numbers and generic types