Interestingly, the more times I run my now-slow code, the slower it gets, and the slower the trivial test _expression_ I sent earlier gets, too.
And threads-list is now broken:
1 ]=> (threads-list)
;The object #[weak-cons 32], passed as the first argument to set-cdr!, is not the correct type.
;To continue, call RESTART with an option number:
; (RESTART 1) => Return to read-eval-print level 1.
2 error> (debug)
There are 13 subproblems on the stack.
Subproblem level: 0 (this is the lowest subproblem level)
_expression_ (from stack):
(set-cdr! #[weak-cons 32] #[weak-cons 33])
There is no current environment.
There is no execution history for this subproblem.
You are now in the debugger. Type q to quit, ? for commands.
Investigating.