general {
    funcon-term: 
      initialise-giving
      sequential(
        print [ fold-left(fail, 1, ( )) ],
        fold-left(
          sequential(print given, given),
          1, 2, 3))
        ;
}

tests {
    result-term: tuple(tuple(1,2),3);
    standard-out: [ [ 1 ], tuple(1,2), tuple(tuple(1,2),3) ];
}
