half baked, with progress (read extended commit)

before going through lines 1by1, separate into records bounded by "===="
and an empty line. (Took a long time to figure out that '' means empty
line to the record...yield def, while '\r\n' and similar do not!)