playing with GNU #guile and #htslib.
(define with_vcf (lambda (f action) (begin
(define header (bcf_hdr_read f))
(define b (bcf_init1))
(while (>= (bcf_read fp header b) 0) (action header b))
(bcf_hdr_destroy header)
(bcf_destroy b)
(hts_close f)
)))