Specification DSL only supports untyped properties. A new method should be added :
... <X> property(String name, Class<X> propertyClass)
While not inherently type-safe, this would allow to retain type information in further DSL calls, improving developer experience.