I'm not documenting this yet because it needs more testing, but in
current git I've enabled a new operation on string-valued series:
logical product. (Snapshots to follow.)
If sv1 and sv2 are string-valued series, then
series sv3 = sv1 * sv2
now yields another string-valued series with value si_sj at
observations where sv1 has value si and sv2 has value sj.
A simple example is afforded by the R dataset warpbreaks (csv
version attached). This includes two "factor" series, wool (with
values "A" and "B") and tension (with values "L",
"M" and "H").
If you multiply them together you get a series with 6 distinct
values, "A_L" to "B_H".
series wt = wool*tension