Making scope explicit, both in Output/Guard and in compiler
Use fnks instead of passing clj forms around