An internal DSL for Scala implementing LC3