(gasp!) You're talking about obsoleting that whole "after sale test" department!! Imagine what you'll do to the unemployment rate!
If you find type enforcement getting in the way of what you're trying to do, you should be rethinking exactly what it *is* that you're trying to do! Even when working with bare metal, there is usually *some* "alternate model" that you can apply to the "devices" to make them fit into the language's notion of the types that it supports. The syntax may get clumsy, but...
And, you should be abstracting away these issues with utmost haste -- so, few people OTHER than you should ever be aware of them!