stream::contents: add optional `encoding` argument