Only call extract on promise lists.

Previously it was calling extract() on an argument list that included a
trailing function.