Do more with patterns in C# 8.0

I'm sorry but I just do not see the point of this madness with switch statements and the recent trending obsession with removing braces and trying to compact so much to a single line.

I'd like to see the language evolve to better express things like concurrency (because tasks cannot possibly be the final form, I hope?) instead of ham-fisting shortcuts for developers to do less typing.

Seriously, what is this?

static string Display(object o)
{
    return o switch
    {
        Point p when p.X == 0 && p.Y == 0 => "origin",
        Point p                           => $"({p.X}, {p.Y})",
        _                                 => "unknown"
    };
}

That is the ugliest thing I've ever seen and it doesn't really save any keystrokes. It makes browsing the code a huge pain. You think you've removed nesting but all you've done is push it to the right and replaced a colon with yet another overloaded meaning for =>.

What problems are being solved here? It's just syntax for the sake of syntax.

/r/csharp Thread Link - habr.com