Historian.el stores the results of completing-read and similar functions persistently. This provides a way to give completion candidates that are more frequently or more recently used a better position in the candidates list.