find may accept an array in which case it gives a collection.
I think if the type system fails to infer the type passed in it will do this.
Lets say you have:
$id = $someInputArray['id'];
Model::find($id); // If type of ['id'] is unknown it will say its a collection.
You can try to fix it by casting it to an int if you are sure it is one:
$id = (int) $someInputArray['id'];
Model::find($id); // Should be Model here