>Today is my birthday. I am now the ultimate answer to the ultimate question
>of Life, the Universe, and Everything.
The mind reels to consider what the question is to which you are the answer.
Anyway, happy birthday!
One comment:
>Unfortunately, it means that two table with different orders, but otherwise
>the same, are not ==.
>
> ? define a := ["foo" => 3, "bar" => 4]
> # value: [foo => 3, bar => 4]
>
> ? define b := ["bar" => 4, "foo" => 3]
> # value: [bar => 4, foo => 3]
>
> ? a == b
> # value: false
Is there some semantic trouble we would get into by adding an 'implementsSameMapping' method (feel free to substitute a better name) to the table protocol? It strikes me that the circumstances under which you want to compare two tables are sufficiently specialized that a specialized method would not be overly burdensome from the user's perspective.