semantic: Deep check arrays in the same fashion as pointers.
semantic: Don't modify pointer in AssignPointerType.