begin
  routine test(name param)         ;  ! ia1         ia2
    write(addr(param),0)  ; newline  ;! 2145833816  2145833816    are these the same because it's the address of the
                                      !                           %name param rather than the array it points to?
    write(sizeof(param),0); newline  ;! 4           4
    write(typeof(param),0); newline  ;! 1           1
  end

  integerarray ia1(3:5)
  integerarray ia2(2:4,3:6)

  test(ia1)
  test(ia2)

endofprogram