Btw, there was a bug in (define-decoder :utf-32) and (define-code-point-counter :utf-32)
At the beginning of that macros, the code that checks for BOM:
(case (,getter seq 0 4) ...
I suppose there must be "start"(as in utf-16 decoder/code-point-counter), not "0", in this form?
If so, that bug is in my code also. And so, this line in "make-bom-check-form" local function of "define-ucs" macro:
(case (,,getter ,,src 0 ,',bytes :ne)
should be replaced by this line:
(case (,,getter ,,src ,,start ,',bytes :ne)