Introduce a second-order function via a second-order version of defchoose.
(defchoose2 sofun ...) ; same as defchoose
The inputs are identical to defchoose.
The function
(defchoose sofun ...) ; input form with defchoose2 replaced by defchoose (defsoft sofun)
;; A function constrained to return a fixed point of ?F, if any exists: (defchoose2 fixpoint[?f] x () (equal (?f x) x))