Hi, folks. Currently lsolve(eqns, vars) takes two lists as
arguments, but then only accesses them via op(), so essentially
any other container should work equally well. Here's a small patch
to make it support exprseq in addition to lst. The motivation is
that std::vector<ex>, upon which exprseq is based, can be more
convenient to work with than std::list<ex>.
Note that there's one additional places where lst is required,
but exprseq would work too: ex::subs(). It would make sense to
support exprseq there too.
Also note that testing for lst is done via two different patterns
in the source code: sometimes it is 'info(info_flags::list)',
other times it is 'is_a<lst>'. It's not clear to me why this
difference exists, or what should be the preferred way.