Returning to this, I think that it's at the cmp_equal sub defined at line 285 of contextOrdering.pl, that the answer becomes a Value::List object instead of a context::Ordering::Value::Ordering. I'm not sure what to do with that though. I tried using this line:
$self_as_list = $ans->{correct_value} = Value::List->make($self);
to replace:
$self = $ans->{correct_value} = Value::List->make($self);
and then a few lines down, using $self_as_list instead of using $self. And that does leave $self as a , context::Ordering::Value::Ordering, but does not fix the issue with the exercise and scaffolding.