If your definition of incremental allows you to build part of a function in one iteration and the rest of it in the next, I'd say we try not to do that. We try to define a deliverable so that it is completed, tested, production ready in an iteration. That may mean we're doing the very same work, except we define smaller features, or it may mean we're pushing our smaller work to a different level of "done"
Of course we don't always make it. Some features just don't get done. Then we tell the customer the feature is not there, even though it's half there. We don't demonstrate or ask them to
test half of something.