initialise-binding initialise-storing initialise-giving finalise-failing finalise-throwing scope (collateral (bind ("main", allocate-variable (functions (tuples ((values)*), values)))), sequential (assign (bound ("main"), function closure (scope (match (given, tuple ()), handle-return (scope (bind ("x", allocate-initialised-variable (values, decimal-natural ("1"))), scope (bind ("y", allocate-initialised-variable (values, assigned (bound ("x")))), sequential (if-else (if-else (if-else (is-greater (decimal-natural ("7"), decimal-natural ("4")), not (is-equal (assigned (bound ("x")), assigned (bound ("y")))), false), true, is-greater (assigned (bound ("x")), decimal-natural ("1"))), return (decimal-natural ("1")), null), return (decimal-natural ("0"))))))))), apply (assigned (bound ("main")), tuple ())))