It's a new type. How can I make an array of elements of that type? I've tried (make-array (list 5) :element-type 'my-Str), but all I got was an array of type T.
The purpose of array types is to allow implementation to use specialized memory layout for the array. The specification allows the type to be upgraded to most specific such type (see http://www.lispworks.com/documentation/ ... upgr_1.htm). In the case of custom types no specialized layout is possible in general (custom type redefinition is allowed at any time), so the array is just an array of pointers, that is, of type T.