The documentation on kill(all) says that it unbinds all items on all infolists, nothing more. There is no infolist related to facts. But kill(all) does cause all facts to be forgotten, while kill(symbol) explicitly does not remove facts related to symbol. This is inconsistent and surprising behavior.