Not quite yet
There is a stupid syntax error I introduced and can't find (stack trace is awful)
But the logic seems all present and so far so good.
Will have to get rid of compile_all