Haskell: Multiplikatives Inverse in einem Restklassenring

Das multiplikative Inverse einer Restklasse in einem Restklassenring kann man in Haskell mit folgendem Snippet berrechnen:

Beispiel: Das multiplikative Inverse für 8 im Restklassenring Z / 21 Z ist 8.