Compiling Haskell into Lean: A Common Abstract Syntax for Haskell and Interactive Theorem Provers