Folders can be implemented by having a set of labels of which only one can be assigned to any given message. Then use folder names/paths as these labels and, voila, you got folders.
You're right. The "move message" icon is, however, of a folder[1], so I guess over time I came to the misunderstanding that I was working with folders!