Fixed to handle composite types in conditional expressions