var i: integer; procedure p1(a: array of T); begin i := 1; end; procedure p1(a: T); begin i := 2; end; procedure p2(a: array[,] of T); begin i := 1; end; procedure p2(a: T); begin i := 2; end; begin var a := new byte[5]; p1(a); assert(i = 1); i := 0; p2(a); assert(i = 2); end.