The presence or absence of a value here is the difference between
```java
Foo foo = new Foo() { .. };
```
and
```java
foo = new Foo() { ... };
```
There's a lot of combinations in play for what to emit here. It's hard to think of any API that covers all the cases included in the test and still feels clean.