new types and crazy type conversions