The conjoin/disjoin definitions start with:
> The predicates are applied in turn to the args as follows
I think your implementation is the correct one and the implementation in
the SRFI repository is incorrect. Although `predicate` is usually a
procedure of one argument, "predicate ... applied ... to the args" seems
to imply that the "predicate"s are applied to each of the list of
arguments in turn.
So I believe that a modification to the sample implementation that is
equivalent to the code you posted would be sufficient, and it does not
require a change to the SRFI.
-- Peter McGoron