I attended a talk by Coinbase. They get A LOT of fraudulent activity (both high end and amateur). They have like 7-8 employees who handle all the manual aspects of user verification. So they have to rely heavily on automated solutions.
I have never used them so I don't know how often they flag false positives but based on that talk I would at least qualify the statement with "it's a hard problem!"
How does that work? It doesn't seem obvious to me?
I also wonder what approaches other languages have taken since I haven't seen dashed keywords in any of the other big languages.