Ah, I see why it's working when you're passing in a nonexistent variable:

https://github.com/concrete5/concrete5/blob/c78e119ff9586ecc7544aaa4e0430d08ebf6921a/web/concrete/core/models/area.php#L175-L181

Check out that source code. This will mean that it will always return the `totalBlocks` rather than the `getAreaBlocksArray($c)` part of the method.