series: rework and simplify the generic constructor, now using convert_to().