- take! x iprocedure
- drop-right! flist iprocedure
take! and drop-right! are "linear-update" variants of take and drop-right: the procedure is allowed, but not required, to alter the argument list to produce the result.
If X is circular, take! may return a shorter-than-expected list:
(take! (circular-list 1 3 5) 8) => (1 3) (take! (circular-list 1 3 5) 8) => (1 3 5 1 3 5 1 3)