The most important precedents deal with the whole idea of symbolic programming - the notion of setting up symbolic expressions that can represent anything one wants, and then having functions that operate on both their structure and content.
Stephen Wolfram