To reduce template bloat declare implementation nontemplated: ``` void notify() { shared me=cast(shared)this; me.notifyImpl(); } void notify() shared { notifyImpl(); } void notify2() shared @nogc { notifyImpl(); } private void notifyImpl() shared @nogc { code... } ```