I think `lastItem` and `accum` should not be part of the public API. It seems best to introduce a local method like this:

    def list(prefix:String):Future[...] = {
       def listPaged(nextMarker:Option[String], acc:Seq[BucketItem]):Future[...] = ...
       listPaged(None, Seq.empty)
    }