// FIXME: This still doesn't work because the '() -> (some P)' propagates // backwards into the closure literal's return type /* public func f3() -> () -> (some P) { return { self } } */