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

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