Problem of type enforcement
When a entity has a field that contain should entity (both atom and set) the type of entity should be checked.
Indeed, when a field is initialised its type is just set to "Entity":
Instead it should be set with a name representing the exact type of entity that is expected.
This problem does not exist on the generated part (indeed the type checking is done in the parser) but using cost functions or any other feature (intermediate layers, ... ) it is possible to overcome this test and set values that are not possible and it might create segfault.