Das geht auch mit einem generischen Record, so wie
in diesem Blog gezeigt wird (für C#).
Kleiner Unterschied bei dieser Lösung allerdings ist, dass im Falle von nil die
Exception vor dem Aufruf und nicht danach bzw innerhalb der aufgerufenen Methode geraised wird.