Apparently the dtype comparison compared pointer addresses, so it must've worked just by chance. Scary!