checkExpr _ [] _ _ ty@(TyCon c) (Val s _ (NumInt n))   | internalName c == "Int" = do
    let elaborated = Val s ty (NumInt n)
    return ([], [], elaborated)
checkExpr _ [] _ _ ty@(TyCon c) (Val s _ (NumInt n))   | internalName c == "Int" = do
    let elaborated = Val s ty (NumInt n)
    return ([], [], elaborated)
checkExpr _ [] _ _ ty@(TyCon c) (Val s _ (NumInt n))   | internalName c == "Int" = do
    let elaborated = Val s ty (NumInt n)
    return ([], [], elaborated)