Pretty-print fixes

 * Slightly better docs
 * Show 'symbols as types in semantic highlighting (because they are)
 * Better parenthesization of arrows