-class parseExpr a :: Parser Char a
-instance parseExpr a:: parseExpr
-parseExpr :: Parser Char (v a) | expr, div v & parsable, ==, +, /, zero, toString a
-parseExpr = foldr ($) parseBasic
+class parseExpr v a | expr, div v
+where
+ parseExpr :: Parser Char (v a)
+instance parseExpr v Int | expr, div v where
+ parseExpr = parseE
+instance parseExpr v Real | expr, div v where
+ parseExpr = parseE
+//instance parseExpr (v Real) where
+// parseExpr
+
+parseE :: Parser Char (v a) | expr, div v & parsable, ==, +, /, zero, toString a
+parseE = foldr ($) parseBasic