--- /dev/null
+definition module RefactorX\r
+\r
+import StdEnv\r
+\r
+:: Expr = NR Int | VAR Name | OP Expr Operator Expr | LET Name Expr Expr\r
+:: Name :== String\r
+:: Operator = PLUS | MIN | MUL | DIV\r
+:: Val = Result Int | Undef\r
+\r
+from StdClass import class toString\r
+\r
+instance toString Expr\r
+free :: Expr -> [Name]\r
+remove_unused_lets :: Expr -> Expr\r
+eval :: Expr -> Val\r