general {
    funcon-term: 
      finalise-failing
      sequential(
        atomic(tuple()),
        atomic(print 1),
        atomic sequential(print 2,print 3),
        interleave(
          atomic sequential(print 4,print 5),
          print 6),
        interleave(
          atomic sequential(yield-on-value print 7,print 8),
          print 9),
        else(
          atomic yield-on-abrupt sequential(print 10,fail),
          print 11))
        ;
}

tests {
    result-term: null-value;
    standard-out: [tuple(), 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
//Also possible:
//  standard-out: [................, 6, 4, 5, ...............];
//  standard-out: [........................., 7, 9, 8, ......];
//  standard-out: [........................., 9, 7, 8, ......];
}
