#lang scheme (provide (all-defined-out)) (define collector:deref false) (define collector:alloc-flat false) (define collector:cons false) (define collector:first false) (define collector:rest false) (define collector:flat? false) (define collector:cons? false) (define collector:set-first! false) (define collector:set-rest! false) (define (set-collector:deref! proc) (set! collector:deref proc)) (define (set-collector:alloc-flat! proc) (set! collector:alloc-flat proc)) (define (set-collector:cons! proc) (set! collector:cons proc)) (define (set-collector:first! proc) (set! collector:first proc)) (define (set-collector:rest! proc) (set! collector:rest proc)) (define (set-collector:flat?! proc) (set! collector:flat? proc)) (define (set-collector:cons?! proc) (set! collector:cons? proc)) (define (set-collector:set-first!! proc) (set! collector:set-first! proc)) (define (set-collector:set-rest!! proc) (set! collector:set-rest! proc))