///|
/// A trait for types that can be converted to an S-expression.
pub(open) trait ToSexp {
to_sexp(Self) -> Sexp
}
///|
/// A trait for types that can be constructed from an S-expression.
pub(open) trait FromSexp {
from_sexp(Sexp, SexpPath) -> Self raise SexpError
sexp_path_key(Self) -> Symbol? = _
}