Three questions grep can't answer (and what structural code search looks like)