Should the type "Double & String" be "Never"?

Not really. Again, the key is understanding that there are two distinct variables named foo.