handleParams (DParam id ty:tc) (exp:te) env = do {
    calced <- calcExp exp;
    tType <- getType calced;
    loc <- alloc tType;
    new_env <- return $ M.insert id loc env;
    putToStore loc calced;
    handleParams tc te new_env;
}
handleParams (DParam id ty:tc) (exp:te) env = do {
    calced <- calcExp exp;
    tType <- getType calced;
    loc <- alloc tType;
    new_env <- return $ M.insert id loc env;
    putToStore loc calced;
    handleParams tc te new_env;
}
handleParams (DParam id ty:tc) (exp:te) env = do {
    calced <- calcExp exp;
    tType <- getType calced;
    loc <- alloc tType;
    new_env <- return $ M.insert id loc env;
    putToStore loc calced;
    handleParams tc te new_env;
}