copyList, with copied Elements
lstatic OpenList copyOpenList(OpenList orig)
{
if( orig.isEmpty() )
{
return OpenList.nil;
}
else
{
return cons(copy(orig.first()),
            copyOpenList(orig.rest()));
}
}