This was hitting the Runestone server hard on some exercises that have recently been in use. I did a diff on the 2.16 and 2.17 versions of parserAssignment.pl, and there were two changes that I do not fully understand, but seem to me to be isolated in scope to just this one file. So I put the 2.17 version in place, and now that exercise is not causing trouble.
The diff is:
350c347,348
< bless $f, $class if $f->type eq 'Assignment';
---
> return $f unless $f->type eq 'Assignment';
> bless $f, $class;
358a357
> $other = $other->Package("Formula")->new($self->context,$other) unless $other->isFormula;
Anyway it seems like 2.16 may have a significant issue with parserAssignment.pl. Or maybe it was hotfixed at some point. I hope this thread helps anyone get past the issue.