My memory is a little foggy on this decision... I recall waffling back and forth on it.  I believe the thinking was two fold.  1) The state of a property has to be discoverable from the system, thus when we prefetch interfaces we need to set `:mode` to something which by default should be `:raw` 2) We have to know the type of interface before flushing in the sense that we have to add vlan fields or not. It seemed both more symmetric with \1 and easier to manage down the road when/if `:bond`/etc. are added to be able to assume `:mode` is always set to some value.

We certainly could remove the default from the type but I think we'd end up always having to treat `nil` as `:raw` in the providers. Or at least with the two providers presently in tree.  I suppose if a provider was added for a platform that doesn't support vlans it would be superfluous but couldn't that case be handled with a feature (I've never used them)?