This is a very odd post. It basically boils down to default arguments only work on named functions, they don't work on function values (whether this is a curried function, or a declared value of function type). Which seems like a perfectly reasonable restriction to me; default argument values are a property of named functions, not of function types, and cannot be expressed in the type system. While it's not out of the realm of possibility for Swift to extend the type system to support this, it's not something I'd hold my breath for and it's not something I feel that I could rightly criticize Swift for not having. And yet, the author declares "Now, you hate Swift" based on this one perceived limitation.