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.
A computation is a process that obeys finitely describable rules.
A good programming language is a conceptual universe for thinking about programming.
A computer is a machine for constructing mappings from input to output.
The use of anthropomorphic terminology forces you linguistically to adopt an operational view. And it makes it practically impossible to argue about programs independently of their being executed.
I would suggest, merely as a metaphor here, but also as the basis for a scientific program to investigate the computational capacity of the universe, that this is also a reasonable explanation for why the universe is complex.
I have not proved that the universe is, in fact, a digital computer and that it's capable of performing universal computation, but it's plausible that it is.
Imagination is actually a form of computation. Imagination gives calculated and instinctive solutions for the future.
The fact that the same symbolic programming primitives work for those as work for math kinds of things, I think, really validates the idea of symbolic programming being something pretty general.
In this metaphor we actually have a picture of the computational universe, a metaphor which I hope to make scientifically precise as part of a research program.