Construct a multiplication of any number of expressions.
If there are no expressions, we return the constant expression 1.
If there is just one expression, we return it.
If there are two or more expressions, we return their left-associated product.
Macro:
(defmacro pf* (&rest exprs) (cond ((endp exprs) '(pfconst 1)) ((endp (cdr exprs)) (car exprs)) (t (yyyjoin 'expression-mul (rev exprs)))))