Solution2.html
From HaskellWiki
parent :: Sheep -> Maybe Sheep parent s = father s `mplus` mother s grandparent :: Sheep -> Maybe Sheep grandparent s = paternalGrandfather s `mplus` paternalGrandmother s `mplus` maternalGrandfather s `mplus` maternalGrandmother s
Alternative grandparent:
grandparent :: Sheep -> Maybe Sheep grandparent s = parent s >>= parent
