type detection for nan