>>21
No matter what, you'd still have to instruct the Vagina class to use Penis' implementation
Why?
If that's what you wanted to do, that is.
Penis and Vagina could be defined in two completely unrelated files from two completely unrelated projects who happen to share a library that implements Stuff.
Okay? Haskell could do that as well with typeclasses (oh man, I haven't used Haskell in months, excuse the made-up syntax):
[code]class Stuff x where
fuck x = raise NotImplementedException
data Penis deriving (Stuff)
instance Stuff Penis where
fuck x = "Oh"
data Vagina deriving (Stuff)
instance Stuff Penis where
fuck x = "Ah"
fuck Penis # ==> "Oh"[code]