 			(doseq [rule (*phrasal-patterns-map* sym)]
 				(let [matched-sym (:slot-values (sym *completed-patterns*))
 					  matched-value  (rule :slot-values)
-						adv-rule (advance-pattern-concept rule  matched-sym)] ; FIX doesnt'w ork consistenly either
+						adv-rule (advance-pattern-concept rule  matched-sym)] ;
 					;(println "GEN:  matched-sym:" matched-sym (rule :frame))
 					(add-pattern adv-rule) ))))
 

	(let [frames-list ( apply concat
						(map (fn [ptn] (concat (get-abstractions ptn) (get-specializations ptn)))
								(keys *completed-patterns*))) ]
		(doseq [sym frames-list]
			(doseq [rule (*phrasal-patterns-map* sym)]
				(let [matched-sym (:slot-values (sym *completed-patterns*))
					  matched-value  (rule :slot-values)
					  adv-rule (advance-pattern-concept rule matched-sym )] ; FIX
					;(println "ADV:" sym matched-sym matched-value)
					(cond adv-rule (add-pattern adv-rule))
				))
)))


					(add-pattern x)
				))
				(propagate-advances)
				(propagate-advances-generalize) 
			)))

