Implementing case as a macro.