adopt composite rule set in functional compiler; change composite rule set so it never alter original rule set; remove  clear method for rule set; add retract.all