Currently closures of the form |a| a * a are very hard to pretty-print since a * a is wrapped in an ast::Block, even though there are no curly braces.
Match arms contain general sub-expressions, as well.
Is there any technical reason why they are treated differently?