eval env (CondExpr fact alt1 alt2) = do
    case holds env fact of
        Left error -> throwError error
        Right True -> eval env alt1
        Right False -> eval env alt2
eval env (CondExpr fact alt1 alt2) = do
    case holds env fact of
        Left error -> throwError error
        Right True -> eval env alt1
        Right False -> eval env alt2
eval env (CondExpr fact alt1 alt2) = do
    case holds env fact of
        Left error -> throwError error
        Right True -> eval env alt1
        Right False -> eval env alt2