This document summarizes a talk on reflection in Pharo. It discusses how: 1) Everything can be represented as an object in Pharo, including code, through the use of abstract syntax trees (ASTs). 2) The AST is now deeply integrated in Pharo and easily accessible. Methods can be annotated by linking meta objects to nodes in the AST. 3) When the code is executed, the links are followed to modify the behavior, allowing aspects like breakpoints or coverage to be implemented through annotation of the AST.