types+grammar: clarifying the nature of Symbol values, and how they behave with boxing and == coercion