A check for basic, incorrect constructs like name clashes.
This is a like vl-module-check-reasonable, but is more appropriate for linting. The main difference is that, here, we don't complain about perfectly valid Verilog constructs merely because they aren't supported by our transformation to esim. For instance, we don't support event declarations in E, but that's no reason to complain about them when linting.