MACRO: chain ( quots -- quot ) dup empty? [ drop [ ] ] [ unclip swap '[ @ dup [ _ chain ] when ] ] if ;