[8 2 # swap vs reverse] `rule def \ 30 rule; [dup 2 * &: 1 concat !] `start def \ 3 start -> 1 1 1 0 1 1 1; [2 [0 concat reverse] do] `sheet def \ sheet; [dup [first [reverse first]] [i] right concat -1 swap !] `cyl def \ cylinder; [swap 2 list reverse] `rpair def \ a b -> [b a]; [swap dup size !: [rpair] dip [gen] right] `ca def \ 15 start 30 rule ca; [swap drop 3 swap # 2 swap sv at] `cell def \ x y z -> n; [[1 unlist] dip swap sheet cell] `gen def \ can substitute cyl for sheet; [stack flatten " *" of sysout;] `disp def \ display; 30 start 25 [90 rule ca] Do disp \ 30 wide, 25 gens, rule 90;