Liquid Haskell: Haskell As A Theorem Prover