Having the interface add/remove elements for this dynamically is (a) obviously not necessary, as my desktop doesn't suddenly turn into a phone while I am browsing, and (b) not a good idea.
It seems like a neat generalisation, but it really isn't.
I've been designing web frameworks from the ground up since 1995. Two sizes is not how it works. You don't read the initial size of the browser window, or parse the device data to see if it's mobile, and decide from there which of two layouts to draw (mobile or desktop). You read it on the fly and redraw as necessary. All parts of the interface and the content working together.
Bootstrap, for instance, has xs, sm md lg xl classes and mixins. Often you don't hide interface elements but simply resize them. Font leading and size may change 20 times subtly as you resize a window.
If you don't believe me, load any major website in a desktop browser and play with resizing the window from narrow to wide.
I am just saying it is bad.
How do I know it is bad? I know it because I have to use this stuff.