The only way you can do it is to work through the use cases and determine the cardinality as they explain what's supposed to happen.
You: Who needs a "Lead"? What's it used for?
Them: A lead is what we get from a reference.
You: How should that work?
Them: Well, as part of something or other, we'll get a reference. We want to put those into some kind of list so we can segment and prioritize them and then do cold calling on the reference. A cold call that has interest becomes a "lead".
You: So one reference becomes one lead?
Them: No. Sometimes a reference doesn't generate a lead [Optionality]
You: So one reference might become a lead, or might go no where?
Them: Absolutely.
You: What else happens with a reference? Anything other than creating a possible lead?
Them: Nothing.
You: Nothing?
Them: Except when send out for credit scoring and re-rank all the references.
You: So there are two use cases? Initial reference and credit scoring?
Them: I guess so.
You: And the credit scoring of a reference can create a lead?
Them: Yes. Does all the time.
You: So a reference can generate zero, one or many leads? [Cardinality]
Them: Nope. Zero or one.
You: Unless it gets scored, then it might generate a second lead.
Them: Right. Zero, one or two. Never more than three of four. Call it six at the absolute upper limit. Give us six leads per reference. We'll never need any more than that.
You: How about an infinite number through the magic of foreign key references?
Them: Never. It's only zero or one. Except when it's two. [Attempted Repudiation]
I think the only way you can meaningfully engage users is to discuss the use cases. Not the data model.
You derive the data model from the use cases.