Arvydas raised the point with me that perhaps there should be distinct DTDs for mutable and immutable p-lists (and possibly for mutable alists as well). The whole Lisp tradition favors functional alist processing, so mutable alists make sense only if plists support both functional setters and mutations.
The problem is that the empty list can't be mutated, so there is no way for any list-based data structure to satisfy the conditions for dictionary mutability. In the current editor's draft I have changed p-lists to be handled immutably; the alternative is to drop them from the SRFI altogether, which would be simpler.
On the gripping hand, plists in CL are mostly attached to symbols as small mutable global databases. A more likely application in Scheme is in the processing of keyword arguments,where functional behavior is more probable.
So which is better: immutable behavior or no support at all?