c_access_label does not enforce the type of row (record vs. variant)
Currently typer.ml and wrap.ml create constraints for access to fields and pattern matching; but they allow a record to be used where a variant is expected, as long as its fields are named like the expected variant's constructors, and vice versa (allows a constructor where a record is expected). This should be fixed by adding a c_row_simpl constraint which forces the r_tag to be the right one.