Scala DSL for unifying JVM property libraries in a type-safe manner