Less recursion, introduced susto for substitution, less eager evalution. Now it generates ch3 in 2 sec (75 before).