Just on the off-chance, are you sure you’ve got the latest compiler? The bridge alias trick is a more recent feature to allow breaking import cycles.
Short of that I’m not 100% sure what the issue is, are you modifying lamdera-realworld or trying to replicate it from scratch? If the latter, am I able to see your source somewhere? Might be easier to spot the issue in full context
So the issue is you’ve used Main/Bridge.elm instead of Bridge.elm. If you change the module name and fix up the imports, it should compile!
Right now core type placements are special cased in the compiler and expected to be very specifically named. Perhaps in future this could be cleverer and detect intent based on usage, but right now Types.elm and Bridge.elm are special and should be the modules used.