The document discusses reflective methods, which are a way to provide structural and behavioral reflection at the sub-method level in Smalltalk. Reflective methods use annotated abstract syntax trees (ASTs) that are compiled to bytecode on demand. This allows tools to access and modify the AST, enabling uses like pluggable type systems, invalidation of code, and partial behavioral reflection through hooksets. Demo examples are shown for code invalidation, assertions, coverage analysis, and behavior modification with Geppetto. Future work areas include optimizing the AST size and enabling contextual reifications.