At the moment, they only way to tell custom bean (created via BeanConfigurator or class implementing javax.enterprise.inject.spi.Bean) from "standard" one is to have an extension and listen to ProcessSyntheticBean. This is good enough if it's sufficient to tell the difference at bootstrap time.
However, at runtime, there is no way to do this.
We could add a method to javax.enterprise.inject.spi.Bean which would allow to tell the difference. The name of the method could be isCustom() or getKind().
Generally, there should be no need to differentiate between custom/standard beans, but when digging deeper, it doesn't hurt to know. Putting this into Bean interface keeps it deep enough while still giving the information.
One of the use cases for this would be CDI-194, which could be "nicely" implemented (avoiding null values), if there was a way to recognize custom bean.