refine Directive to help remove Nil in the future
refine objpatt
remove nil in record expression, the underscore is any:fix
refine Array into ArrayEmpty and Array
refine OptLabl into OptLabl and OptLablS:fix
refine Label into Label and LabelS:fix
remove nil in patt :fix
prepare removing nil from expr:fix
remove nil in expr :fix
remove nil in expr with snapshot:fix
add StructEnd to prepare removing nil in str_item
remove nil in str_item success, but introduces some ugly hacks to be fixed:fix
remove nil sig_item:fix
remove nil in module_expr:fix
remove nil in module_binding
remove nil in with_constr
remove nil in binding
remove nil in my match_case:fix
remove nil in class_sig_item
class_sig_item removes nil now reach a fix point