ulisp 3.3 on esp32 but it’s likely the same in all versions:
(defun my (x y) (+ x y))
(defvar handlers '(my))
(apply (first handlers) '(0 1))
Error: not valid here: my
With builtins it works as expected:
(defvar handlers '(cons))
(apply (first handlers) '(0 1))
(0 . 1)
Yes I can do (defvar handlers (list my)) but then I lose the ability to easily check later if 'my is in the list.
Or I can do (apply (eval (first handlers)) '(0 1)) but apply should probably evaluate its first argument by default, as it does in common lisp.