pprExpr (ELet isRec defns expr) = 
    iConcat [iStr keyword, iNewline, iStr " ", iIndent (pprDefns defns), iNewline, iStr "in ", pprExpr expr]
    where
        keyword 
            | not isRec = "let"
            | isRec = "letrec"
                     
-- pprAExpr is pprExpr with parenthesis when required
pprExpr (ELet isRec defns expr) = 
    iConcat [iStr keyword, iNewline, iStr " ", iIndent (pprDefns defns), iNewline, iStr "in ", pprExpr expr]
    where
        keyword 
            | not isRec = "let"
            | isRec = "letrec"
                     
-- pprAExpr is pprExpr with parenthesis when required
pprExpr (ELet isRec defns expr) = 
    iConcat [iStr keyword, iNewline, iStr " ", iIndent (pprDefns defns), iNewline, iStr "in ", pprExpr expr]
    where
        keyword 
            | not isRec = "let"
            | isRec = "letrec"
                     
-- pprAExpr is pprExpr with parenthesis when required