In 2006, Ben Moseley and Peter Marks explored something that many of us are familiar with: the creeping feeling that the complexity of a software system has outgrown the complexity of the very domain it was designed to capture.
By taking a fresh look at which kinds of complexity are to be considered essential and which are merely introduced by accident, they put in words many deceptively obvious insights. Better still, they hinted at Codd's relational model and ideas from functional programming as a way out.
Unfortunately, they left implementing their approach as an exercise to the reader, calling their own ideas “purely hypothetical” and “not proven in practice”.
What were they on to? What has changed? And how deep is the tar pit today?