Change this to just firstChildDataType.isCoercibleTo(PDataType.TIMESTAMP) as DATE & TIME are coercible to TIMESTAMP. Plus we have an UNSIGNED_TIMESTAMP.