+
+(define-layered-class list-attribute (standard-attribute)
+ ((item-args :initform nil :initarg :item :layered t :special t)))
+
+(define-layered-method display-attribute-value
+ ((attribute list-attribute))
+ (arnesi:dolist* (item (attribute-value attribute))
+ (apply #'display *display* item (slot-value attribute 'item-args))))
+
+(define-description list ()
+ ((list :attribute-class list-attribute
+ :function #'identity
+ :attributes nil)))
+
+(define-description cons (list)