a bit confused here; if you pass in multiple devices with no parameters, each subsequent one will clobber `mapping[:no_device]` ? or is that not valid?