The document discusses several challenges in designing domain-specific languages (DSLs). It notes that while reusing the target platform's expressions is pragmatic, it can lead to dispersed information and complexity. An alternative proposed is developing expressions as a reusable library, offering advantages like non-dispersed information and good tooling while requiring additional learning. Concrete syntax challenges include grammar mixing and ambiguity, which can be addressed with techniques like scannerless parsing and contextual lexing. Abstract syntax poses challenges for meta-model reuse and linking elements. Validation rules may not be weakened and compilers/interpreters require contract specifications. Customizing generated artifacts requires non-invasive changes.