pub fn new_named_list<F>(name: &str, fill: F) -> Sexp
    where
        F: Fn(&mut Vec<Sexp>),
    {
        let mut v = vec![];
        v.push(name.into());
        fill(&mut v);
        Sexp::List(v)
    }
/// create a list type symbolic-expression where
/// the first element of the list is a string that indicates
/// the name, the remainder is filled in via the provided
/// fill function
///
/// shape: (name ...)
create a list type symbolic-expression where
the first element of the list is a string that indicates
the name, the remainder is filled in via the provided
fill function


create a list type symbolic - expression where the first element of the list is a string that indicates the name the remainder is filled in via the provided fill function
pub fn new_named_list<F>(name: &str, fill: F) -> Sexp
    where
        F: Fn(&mut Vec<Sexp>),
    {
        let mut v = vec![];
        v.push(name.into());
        fill(&mut v);
        Sexp::List(v)
    }
pub fn new_named_list < F > ( name : & str , fill : F ) -> Sexp where F : Fn ( & mut Vec < Sexp > ) , { let mut v = vec ! [ ] ; v . push ( name . into ( ) ) ; fill ( & mut v ) ; Sexp :: List ( v ) }
create a list type symbolic-expression where
the first element of the list is a string that indicates
the name, the remainder is filled in via the provided
fill function
create a list type symbolic - expression where the first element of the list is a string that indicates the name the remainder is filled in via the provided fill function
name
&str
fill
F