let Rule : Type = { match : Text, print : Text } let Config : Type = { rules : List Rule } let rule = \(match: Text) -> \(replace: Text) -> { match = match, print = replace } : Rule in { rules = [ rule "(>>[ICS]>)|(<[ICS]<<)|(>[ICS]>)|(<[ICS]<)" "" , rule "Couldn't match type" "Couldn't match" , rule " with" " with" , rule "Expected type:" "Expected:" , rule " Actual type:" " Got:" , rule "Couldn't match expected type ‘(.*?)’" "Expected: $1" , rule " with actual type ‘(.*?)’" " Got: $1" , rule "Couldn't match expected type ‘(.*)’ with actual type ‘(.*)’" '' Expected: $1 Got: $2 '' -- , rule "(?s)>>C>.*?