program main
  fn count_to(limit: i32) -> i32
    local var i: i32
      int 0
    while
      binary <
        var i
        var limit
      set i
        binary +
          var i
          int 1
    var i
  fn main() -> i32
    call count_to
      int 4
  test "while counts"
    local var i: i32
      int 0
    while
      binary <
        var i
        int 3
      set i
        binary +
          var i
          int 1
    binary =
      var i
      int 3
  test "while false skips"
    local var i: i32
      int 0
    while
      bool false
      set i
        binary +
          var i
          int 1
    binary =
      var i
      int 0
