It is said that blocks in self are close to closures in scheme, so I have tried to implement the following: (define (cond-gen par1) (define (parametrized-test par2) (= par1 par2)) parametrized-test) (define test-if-equals-4 (cond-gen 4)) (test-if-equals-4 4) and after couple failures gave up. Does anybody have a solution to this problem? Kuba