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 ("n", allocate-initialised-variable (values, decimal-natural ("15"))), scope (bind ("fib", allocate-nested-vectors (integer-add (assigned (bound ("n")), decimal-natural ("2")))), sequential (effect (give (decimal-natural ("0"), sequential (assign (checked index (integer-add (1, decimal-natural ("0")), vector-elements (assigned (bound ("fib")))), given), given))), effect (give (decimal-natural ("1"), sequential (assign (checked index (integer-add (1, decimal-natural ("1")), vector-elements (assigned (bound ("fib")))), given), given))), scope (bind ("i", allocate-initialised-variable (values, decimal-natural ("0"))), while (is-less (assigned (bound ("i")), assigned (bound ("n"))), sequential (sequential (effect (give (integer-add (assigned (checked index (integer-add (1, assigned (bound ("i"))), vector-elements (assigned (bound ("fib"))))), assigned (checked index (integer-add (1, integer-add (assigned (bound ("i")), decimal-natural ("1"))), vector-elements (assigned (bound ("fib")))))), sequential (assign (checked index (integer-add (1, integer-add (assigned (bound ("i")), decimal-natural ("2"))), vector-elements (assigned (bound ("fib")))), given), given))), print (assigned (checked index (integer-add (1, assigned (bound ("i"))), vector-elements (assigned (bound ("fib"))))))), effect (give (bound ("i"), sequential (assign (given, integer-add (assigned (given), 1)), assigned (given)))))))))))))), apply (assigned (bound ("main")), tuple ())))