type state is record
  value: nat;
end;

function ifer (const contractStorage : state) : (nat * state) is
  block {
    const x : nat = 6n;
    if (x = 5n) then block {
      x := (x + 1n);
    } else block {
      x := abs(x - 1n);
    };
  } with (x, contractStorage);

function main (const dummy_int : int; const contractStorage : state) : (state) is
  block {
    skip
  } with (contractStorage);