I'd like to add to the lens-data library a few lenses which help manipulating “improper syntax lists”, e.g.
(lens-view stx->list*-lens #'(a b . c)) ;; => '(a b c)
(lens-set stx->list*-lens #'(a b . c) '(1 2 3)) ;; => #'(1 2 . 3)
Also, a lens which turns an improper list into a list could be added:
(lens-view list*->list '(a b . c)) ;; => '(a b c)
(lens-set list*->list '(a b . c) '(1 2 3)) ;; => '(1 2 . 3)
Is there any convention that I should use to refer to improper lists? Or is list* a good pick?