target-mtime doesn't need to be checked for each prereq.
to-rule-set: rule-candidates -> dfs -> '(#{:rule} ...) -> rule-set dfs: depth first topological sort with automatic leaf insertion out-of-date: replaced by templates.scm rule-trans-set: replaced by to-rule-set