PROGV doesn't check its arguments for validity!!! This makes debugging kind of difficult. If I give it a list which isn't all symbols as first argument, it should yell at me. Try saying, e. g. (PROGV '(1 2 3) '(1 2 3) 4).