The inconsistency in the way DSLs are written is a common issue and can be quite confusing. While most DSLs are written as strings, some are not. This can be confusing as it can be difficult to know which type of DSL is being used. However, this inconsistency can be beneficial in some cases as it allows for more flexibility in creating DSLs. For example, if a DSL needs to be written in a more complex format, then it can be written as a non-string type. Additionally, some DSLs require more complex data structures, and writing them as strings can make it difficult to represent them accurately. Ultimately, the choice of writing a DSL as a string or not should depend on the complexity of the language and the data structures it requires.