(c) USING: arrays kernel locals locals.parser locals.types locals.rewrite.closures math prettyprint sequences quotations ; IN: checks << [let* | x [ "x" make-local ] b [ x [ 10 + ] x prefix 2array 1array ] le [ b x 1quotation dup . 1quotation ] la [ x 1array le 1quotation dup . ] | la rewrite-closures first . ] >> ! 'le [ b x 1quotation dup . ____1quotation____ ]' (c) output [let* | x [ x 10 + ] | x ] [| x | [ [let* | x [ x 10 + ] | x ] ] ] error: ... You have found a bug in locals. Please report. args [ ] obj x so, my questions: 1. (c) works fine, but (c) doesn't, why? where is a difference? 2. is (b) correct? if it is, why (c) doesn't work?