I propose to make a change, * srfi-1.c, srfi-1.h, srfi-1.scm (concatenate, concatenate!): Rewrite using scm_append and scm_append_x. which should be smaller and faster. I think it requires no more than registering the following, since scm_append and scm_append_x don't modify their list argument. SCM_REGISTER_PROC (s_srfi1_concatenate, "concatenate", 1, 0, 0, scm_append); SCM_REGISTER_PROC (s_srfi1_concatenate_x, "concatenate!", 1, 0, 0, scm_append_x);