Programming is like mathematics, except all proofs are omitted.
The reason why most Haskell theorems are trivial is because lacking dependent types means that we cannot ask for interesting theorems. `3 :: Int` is a perfectly nice proof that "Integers exist" which is a little silly.
Mathematicians think programming is mathematics. Programmers think they're simulating the mind of a mathematician!