Effective Haskell : This function is partial as defined

Effective Haskell, definition of toPeano (page 136)

The function, toPeano, as defined does not handle negative Int arguments.

The type should be: toPeano :: Word → Peano. fromPeano should also be adjusted