general {
    funcon-term: 
      initialise-giving
      initialise-binding
      scope(
        bind-value("x",99),
        give(
          tuple(
            99,
            abstraction(
              sequential(
                print first tuple-elements given,
                print bound-value"x"))), 
          scope(
            bind-value("x",42),
            give(
              tuple(42, second tuple-elements given),
              enact second tuple-elements given))))        
        ;
}

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