We don't need to create scopes for primitive values that are never reassigned. The actual rules are more complex — we could choose to skip creating scopes for values that don't allocate — but this simple heuristic is good for now.