evalSimpleExpr (Fix (ExprBinOp l op r)) = evalL `evalOp` evalR
  where evalL = evalSimpleExpr l
        evalR = evalSimpleExpr r
        evalOp = case op of
                   Add -> (+)
                   Sub -> (-)
--
evalSimpleExpr (Fix (ExprBinOp l op r)) = evalL `evalOp` evalR
  where evalL = evalSimpleExpr l
        evalR = evalSimpleExpr r
        evalOp = case op of
                   Add -> (+)
                   Sub -> (-)
--
evalSimpleExpr (Fix (ExprBinOp l op r)) = evalL `evalOp` evalR
  where evalL = evalSimpleExpr l
        evalR = evalSimpleExpr r
        evalOp = case op of
                   Add -> (+)
                   Sub -> (-)
--