put another way: `{}` matches quite exactly the empty body emitted in byte code, while `()` does not