Add pattern-matched dsl