Hi Julien! > I think you need to remove the apply, but keep one level of parenthesis, > like so: > > ((assoc-ref …) args …) > > Apply takes the last arguments, which must be a list and appends all its > elements to the invocation. Like (apply foo '(1 2 3 4)) is tge same as > (foo 1 2 3 4). Here you're probably confused because of the assoc-ref is > not a procodure, but it's fine: it returns a procedure, so guile can > execute it and pass arguments to it the normal way. So I tried the following: ``` (replace 'install (lambda _ (for-each (lambda (solution) (with-directory-excursion solution ((assoc-ref copy:%standard-phases 'install) #:install-plan '(("src" (string-append "include/" solution) #:include-regexp ("\\.h$")))))) (list "qtlockedfile" "qtpropertybrowser" "qtservice" "qtsingleapplication" "qtsoap")) #t)) ``` I get "In procedure string-append: Wrong type (expecting string): #f", with and without replacing `(string-append "include/" solution)` with `"include"`. Regards, RG.