Simon Willerton said:
> Firstly, you can't apply WorksIn to r.
Right, that's why I used lowercase letters! I have to admit it's a bit subtile, so here's it explicitly:
\\[ worksIn = F(WorksIn) \\]
\\[ WorksIn = G(worksIn) \\]
I know that theoreticians don't want to touch data records directly, because they want to reason about things that hold irrespective of any concrete values. But programmers who "feel" the machine may want to understand things more bottom up.
It took me a long time to get the advantage of doing things completely abstract.