Introduce a second-order function
via a second-order version of std::define-sk.
(define-sk2 sofun ...) ; same as define-sk
The inputs are identical to std::define-sk.
The function sofun must satisfy
all the requirements for defsoft,
because define-sk2 generates (defsoft sofun) (see below).
(define-sk sofun ...) ; input form with define-sk2 replaced by define-sk
sofun is introduced as a first-order function
It is also recorded as a second-order function via defsoft.
- Implementation of define-sk2.