I might just be having one of those moments, but if static arrays are value types, doesn't it make more sense that arr1 = arr2; performs a value copy than a reference copy?