Taxonomies seem to be just as problematic in biology as in object-oriented programming. :)
Worse. In OOP you can at least mostly see where the thing comes from. In biology, evolution doesn’t readily provide the source code. It’d be like trying to name a class that inherits from a chain of obfuscated machine code snippets, some of which you can no longer see.
Treating taxonomies as anything other than flexible convenience modeling is dumb, as experience with OOP teaches well :).
It needs to be a "tagsonomy" - associate similar traits rather than a strict hierarchy...
It's not real milk. It's a nutritious fluid that is slightly somewhat similar to milk.
impl Lactation for Spider
Well, in this case, you just need to make a GiveMilkBehaviour interface and make a class for all the possible ways of giving milk. Now all animal classes that give milk implement that interface, use composition to include the proper way of giving milk, and the interface is implemented by delegation to that component.