Responding to Kevin's tangent:
- Of the one's on Dan's list, one could argue that even some of the
ones in Bucket 1 are questionable, such as `char` or `Instant`. The
ones that really seem like slam dunks are: numerics (int, long, etc),
boolean, and maybe Optional. That's a small list.
(A
Comments:
"lack a unique identity" could cause readers to puzzle over whether
inline objects have multiple identities. Suggest "lack object identity"
instead.
In the motivation, I would add examples like:
void foo(Object o) {
synchronized(o) { ... }
}
void foo(T t) { /*