!7 concept GazelleError { S msg; S stackTrace; S ruleID; } cmodule GazelleErrors > DynCRUD { start { addCountToName(); } // API void storeError(Throwable e, O... _) { nu GazelleError( msg := exceptionMessageUnlessEmpty(e), stackTrace := getStackTrace(e), ruleID := optPar ruleID(_)); } }