general {
    funcon-term: 
      initialise-binding
      finalise-throwing
      sequential(
        handle-thrown(
          throw 1,
          catch-else-throw(1, print 1)),
        handle-thrown(
          handle-thrown(throw 2,
            catch-else-throw(1, fail)),
          catch-else-throw(2, print 2)))
        ;
}

tests {
    result-term: null-value;
    standard-out: [1, 2];
}
