Also of note is that the expression before it ends in `.` so it must be an non-static member, so it can't be a type so the expression can't be a constructor, so it must be a function call. Though the most reliable method determining it of course remains looking at the type returned by `eval()` and what member `as<>` is.