Making alistp matching plistp requirements

Heime <[email protected]>
Newsgroups gmane.emacs.help
Message-ID <_hKsiKHqSlBsprV943xTmy9fLhaiy75lcgOjrO_Zc5r6sdNzGz9UnkK6O6lLtSfccUtGJVGn3jDfRQapqGmn07hOcjpcjxGdcFIZd8Qz-VM=@protonmail.com>
plistp is defined as

(defun plistp (object)
  "Non-nil if and only if OBJECT is a valid plist."
  (declare (pure t) (side-effect-free error-free))
  (let ((len (proper-list-p object)))
    (and len (zerop (% len 2)))))

For an equivalent alistp, checking cons cells with key and value,
how would the function be?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.