+ [(eqv? #\S (car l)) (tc0 (cdr l) (compose k k))]
+ [else (tc0 (cdr l) (lambda (tail) (cons (car l) (k tail))))]))
+
+; improvement: if we flip the order of cons and k in the last line, we can avoid the need to reverse
+(define (tc1 l k)
+ (cond
+ [(null? l) (k '())]