history: add gm().stream() and gm().toBuffer()