This (updated) project showcases the behavior: https://github.com/snicoll-scratches/demo-binder

SimpleElement has one public constructor so it is considered to be bound via its constructor. The sample here is a bit unusual has it demonstrates a case where we didn't mean to bind to constructor binding.

If a ValueOjbect property (such as description) is available in the environment, the binder fallbacks to binding that instance using value object. It's inconsistent at best with the metadata that's generated by the annotation processor.

Comment From: philwebb

I think this has been fixed by #33409