more rewrite, adding 'seq()' and 'val()' helpers