The latter two, yes. Operator overloading is a loaded gun and you need to make sure you aim carefully. And Array identity and mutability semantics are just straight-up broken. But type inference tends to be good for readability in my experience, and trailing closures seem clear enough that I don't see how they have any more potential for abuse than anything else.