It's becoming increasingly common to want to continue chaining passed .first() now that there is a .statements() method, e.g.
$functionExpression.statements().first().prepend('debugger');
This may be important for .map, .filter, et al too. It starts to be unclear when a query object turns into an Array during chains.