fix a bug in optional argument lists