- value v = alloc_custom(&ops, sizeof(ml_Editor), 0, 1);
- ml_Editor* ml_editor = (ml_Editor*) Data_custom_val(v);
+ value v = alloc_custom(&ops, sizeof(ml_Editor*), 0, 1);
+ ml_Editor** ml_editor_ref = (ml_Editor**) Data_custom_val(v);
+ ml_Editor* ml_editor = *ml_editor_ref = malloc(sizeof(ml_Editor));