Would it be a bad idea to suggest that the compiler by default gen NimMain as __attribute__((constructor)) when using nim c|cpp and --app:lib?
Obviously this entails adding another define to reverse this behavior, or alternatively make this behavior it's own define.