general {
    funcon-term: 
      initialise-giving
      sequential(
        print [ interleave-filter(true, ( )) ],
        tuple interleave-filter(
          sequential(print given, is-less(given,3)),
          1, 2, 3))
        ;
}

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