It would certainly be nice if it was possible to ignore the difference. However, there is a difference, and in particular one difference is that we can control how changes are done to images (but not to container), which lets us guarantee that no files are ever written to in-place after construction. Its this property that allows us to do file sharing via hardlinks.

For the aufs backend we can ignore this at a not-that-bad cost by doing an actual copy instead of a hardlink when we reach the 42 layer limit. However, if we ever want to support overlayfs which has a stacking limit of 3 we *need* to do image file sharing via hardlinks. So, i think we need this separation eventually. The API can be nicer than a boolean arg though.