The service bulider methods seem to overwrite the service provided by bind() invisibly.
IOC services bound using a marker behave differently than services with a serviceId thus producing a StackOverflow
Another example where a warning is insufficient, and a failure is required. There is a check for this, it just wasn't getting output. I'm changing it to a thrown exception.