@MissedTheBoatAgain - It is a mess because EU are afraid for UK to leave and hence they have attempted to block UK departure since the referendum in 2016.
Seriously? Are you really that ill-informed? The EU, from day 1, stated that the 4 pillars would not be split up. Therefore, there was never going to a deal that allowed the UK to pick and choose which of the freedoms they wanted and which they didn't. It was all or nothing. Many other deals were possible but Teresa May's red lines precluded them.
Then you add in the good friday agreement. This is an internationally binding agreement that the UK signed up to, and requires no hard border on the island of Ireland. The only way this is possible, is to stay within the customs union and the single market. There is no technological fairy that currently exists that would preclude border checks. Down the road, this may be possible, but not currently.
So there you have it: 1) The EU refuses to give the UK a better deal than member states currently have. 2) The EU supports a member state (Ireland) in demanding the UK comply with the terms of an internationally binding agreement that they signed with Ireland.
This is not the EU blocking the UK from leaving. This is the UK being utterly incompetent and believing that they were somehow special enough that a) the EU would give them whatever deal they wanted and b) an internationally binding agreement didn't really matter because it was only with Ireland and sure, they'll fall in line.
Any other country, other than Ireland, would be able to leave the EU with significantly more ease as they do not have the GFA limiting the type of border they can have.