It is recommended that instead of assumed-size arrays, assumed-shape arrays be used in new programs instead. With this class of array it is not necessary to explicitly communicate any information regarding bounds to a procedure, however, in this case an explicit interface must be provided. If an array is to be reshaped or retyped across a procedure boundary then the new intrinsics RESHAPE, TRANSFER, PACK and UNPACK should be used to achieve the desired effect.