} catch (Throw e) {
heap.removeModule(env);
throw e;
} catch (IOException e) {
heap.removeModule(env);
throw new ModuleImport(name, e.getMessage(), x);
}
heap.removeModule(env);
throw new ImplementationError("Unexpected error while parsing module " + name + " and building an AST for it ", x);
}