Yes, this is bad.  It unnecessarily makes a copy in the most common case, and it doesn't do the right thing for np.float16.  I've pushed a fix.