(define (update-db db key #!key user password comment) (let ((entry (or (alist-ref key db equal?) (make-list 3 "")))) (alist-update key (match-let (((u p c) entry)) (list (or user u) (or password p) (or comment c))) db equal?)))