This condition is likely the reason why. It would be inconsistent and confusing that @autoclosure Bool means @autoclosure () -> Bool, but @autoclosure () -> Bool does not mean @autoclosure () -> () -> Bool. Especially since autoclosures are rarely used and should be avoided in most cases.