Unifying principles of generalization: past, present, and future | Synapse