I have a language "mylanguage" with a concept called "Class".
I have a solution along side that language which has a module for that language called [mylanguage].core. In that module I define a Class called "Sequence".
I have a SequenceLiteral defined in mylanguage.
The problem is when it comes time to define the typesystem inference aspect for SequenceLiteral I need to reference the definition of Sequence which isn't accessible from the Language.
Should I not be defining these core Classes in a module separate from the language?
Is there a way to do a circular reference and have the language depend on the core module (I tried and wasn't successful)?