What piece of syntax has the most different meanings?
I realised today that `as` is extremely overloaded. It can be used for aliasing imports (Python), type casts (Rust), binding pattern match variables (OCaml), type assertions (Hack) and probably many others.
miniblog.
Related Posts
I've released difftastic 0.62! In this release:
* Updated parsers for Bash, C, C++, C#, CSS, Go, Haskell, HTML, Java, JavaScript, JSON, Julia, Lua, Objective-C, OCaml, PHP, Python, Ruby, Scala, TOML, TypeScript and XML.
* Obligatory crash fixes.
I really like pattern matching in Rust, but I find myself using it less and less.
`if let` and `let ... else` require substantially less indentation, and I often use them for Option values.
I don't miss this syntactic sugar in OCaml though. Maybe it's just because OCaml has a 2 space indent, unlike Rust's 4 space indent?
I still find it weird that constructors aren't first class functions in OCaml.
`id Just` is legal in Haskell, but `id Some` is an error in OCaml.
Are there any advantages of the OCaml approach?

