Agree about 1^NaN being strange.
Also R's cleverness with NA's is not so consistent. For example:
median(c(1,1,1,NA))
Should return 1, since no matter what value is behind NA the median is still 1. But it returns NA.