dsv.scm (dsv-read): Rewrite in funcitonal style