public Node coerce(Node expr, TypeInfo[] actual, TypeInfo expected, boolean isExplicit, boolean force)
{
if (expr instanceof ListNode)
{
// compound expression. Only coerce the final expr in the list.
ListNode list = (ListNode) expr;
Node lastExpr = list.items.back();
lastExpr = coerce(lastExpr, actual, expected, isExplicit, force);
list.items.pop_back();
list.items.push_back(lastExpr);
return expr;