DEFINE STRUCTURE + type functions + function/procedures is all one needs in PL/I to achieve similar workflow,
https://www.ibm.com/docs/en/epfz/5.1 (No earlier online version found)
And if you want to read PL/I documentation that uses the term "abstract data types",
https://www.ibm.com/docs/en/z-netview/5.4.0?topic=SSZJDU_5.4...
Interlisp initially created in 1970, besides the lists everyone knows, introduced atoms, string, arrays and compound data types, which alongside macros provided the necessary foundation to create abstract data types
https://www.softwarepreservation.org/projects/LISP/interlisp...
And going back to CLU,
> The language which most closely resembles, in form, the language presented here is SIMULA 67. 8 SlMULA class definitions have many similarities with cluster definitions.
"Programming with Abstract Data Types (1974)"
https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.136...