Agree with most of that - but both options you list will upset all leave voters as it means freedom of movement continues, which was a major reason for Leave winning.
It's a mess - caused by Cameron pandering to his own Party, but also by the EU - they could have given him a much better deal...