program stability
  struct Pair
    field left: i32
    field right: i32
  fn sum_pair(pair: Pair) -> i32
    binary +
      field-access left
        var pair
      field-access right
        var pair
  fn choose(value: i32) -> i32
    if
      binary <
        var value
        int 10
      if
        binary <
          var value
          int 5
        binary +
          var value
          int 1
        binary +
          var value
          int 2
      unsafe
        if
          binary <
            var value
            int 20
          binary +
            var value
            int 3
          binary +
            var value
            int 4
  fn loop_sum() -> i32
    local var i: i32
      int 0
    local var total: i32
      int 0
    while
      binary <
        var i
        int 3
      set total
        unsafe
          if
            binary <
              var i
              int 2
            binary +
              var total
              var i
            binary +
              var total
              int 1
      set i
        binary +
          var i
          int 1
    var total
  fn accept_many(a: i32, b: i32, c: i32, d: i32, e: i32, f: i32, g: i32, h: i32, i: i32, j: i32) -> i32
    binary +
      var a
      var j
  fn long_inline_call() -> i32
    call accept_many
      int 100000001
      int 100000002
      int 100000003
      int 100000004
      int 100000005
      int 100000006
      int 100000007
      int 100000008
      int 100000009
      int 100000010
  test "comments stay"
    local let value: i32
      int 42
    binary =
      var value
      int 42
