copyList, slightly deeper
lstatic OpenList copyOpenList(OpenList orig)
{
if( orig.isEmpty() )
{
return OpenList.nil;
}
else
{
return cons(orig.first(),
            copyOpenList(orig.rest()));
}
}

lStill does not copy individual list elements (which could be lists themselves).