... perhaps by special-casing synchronized, even though that complicates erasure for performance, not correctness https://github.com/adriaanm/scala/tree/poly-synch