it should work like this:
> bob = Entity("Bob")
> specific_company = Entity("Enron", generic=False)
> a = Fact(Predicate("$person worked for $company"), terms = (bob, specific_company))
> b = Fact(Predicate("$person worked for Enron"), terms = (bob))
> a.means(b)
True
> a.implies(b)
True
Because the placeholder would be filled in with the same text from the template in b, and because that text comes from a non-generic Entity, it should be considered the same.