definition module Sjit.Syntax :: Expr = Int !Int | Var !String | App !String ![Expr] :: Function = { fun_name :: !String , fun_args :: ![String] , fun_expr :: !Expr }