use fused types to handle signed/unsigned int64