Well said, exactly this is the point. For devs a Mac is more comfortable to get things done with than with surface.
My Surface Book is solid hardware with a great keyboard, all-day battery, etc. WSL is to the point where there is less weirdness building libraries in WSL than there is on the Mac.
Its not perfect, but the perfect machine doesn't exist.
To do that, I install docker in WSL, then I have to run a Go binary I compiled as root, that lets WSL talk to Windows pipes, which then talks to Docker for Windows.
WSL makes using Windows somewhat tolerable, but it's not even close to having a regular old Unix.
So I have to set up the strange hack I described in order to use docker inside WSL as a client to Docker for Windows.