TraceScan[f, expr] applies f to all expressions used in the evaluation of expr.
TraceScan[f, expr, form] includes only those expressions which match form.
TraceScan[f, expr, s] includes all evaluations which use transformation rules associated with the symbol s.
TraceScan[f, expr, form, fp] applies f before evaluation and fp after evaluation to expressions used in the evaluation of expr.
See notes for Trace.
All expressions are wrapped in HoldForm to prevent evaluation before f or fp are applied to them.
The function fp is given as arguments both the form before evaluation and the form after evaluation.
TraceScan[f, expr] returns the result of evaluating expr.
See The Mathematica Book: Section 2.5.10.