First let me say I am a fan of this proposal overall, and the tensor flow for swift team's work in particular. I don't think any of this should block acceptance of the proposal, I just want the core team to consider various options around what syntax feels the most natural for Swift...
I have to disagree pretty strongly here, and I think this argument works in favor of my proposed syntax.
let fooVar = myObj.foo //The dot accesses the member foo
fooVar() //The call syntax for a function is ()
As you can see above, the call syntax for a function is the parenthesis (along with any parameters). This is true for top level functions and for methods on classes and structs. The dot syntax allows you to refer to a member of a class/struct/etc...
By making something statically callable, we are saying "treat it like a function". That is, you can call it directly with the normal call syntax for functions
myCallable() //It can be called just like a top level function
I think we agree on that much, the main disagreement is over how to explicitly refer to the function without calling it. I think, because we are treating the callable as a function itself that:
myCallable as func
//or
myCallable as ()->()
...is very natural and does what it says on the tin. referring to myCallable is ambiguous because it can be seen either as an instance of it's type or as a function, so I am telling the compiler which way I want it to be viewed in this instance. Even if we adopt the call syntax, I still think as ()->() should work to refer to the function.
In contrast, if the way to refer to the function is myCallable.call using dot syntax, then we are conflating ideas. I suddenly need to know this new magic word call. What I am treating like a function in one context, I am treating like a member in another context. It breaks the mental model unnecessarily. With as func it is never treated like a member, only as something which can be treated like a function.
I also feel like if someone sees as ()->() or as func in code, they will know what it does from other knowledge of how Swift operates. If they see myObj.call, it is an entirely new concept which has to be looked up. Because we don't have implicit conversion, and it should be fairly common to want to pass these things around as functions (e.g. as completion handlers), I predict that myObj.call will become a top search on Stack Overflow.
As for the argument that func necessitates a dot member lookup, that certainly isn't true of top level functions. I also think it is reasonable to define func _ () as creating a top level function for a type (that can be called directly on the type). I also feel like the difficulty of learning func _ () vs. call for those defining a statically callable type are roughly equal.