Subject: bug#18494: 24.4.50; defclass creates undocumented *-list-p function

From: Stefan Monnier <[email-masked]>
Date: Sat, 20 Sep 2014 19:08:35 -0400

> Technically, I could hand write a few of those predicates for the EDE
> loader, but I thought it would be generally useful, especially if other folk
> want to save their objects.  I'm not sure how widely used it is outside of
> EDE, semanticdb, and cogre which all have save files.  I certainly think it
> should be documented if consensus is that it stays.  Perhaps an extra option
> for the defclass to add extra predicates along
> with :method-invocation-order.

My natural reaction is to say that those *-list-p predicates shouldn't
be automatically created, but could someone explain to me in detail
how/where they're used?
E.g. I hear it's used for types, but can't we use a type like (list foo)
instead of foo-list (or maybe (cl-every foo-p) instead of foo-list-p)?

        Stefan