add Rule.from_string() and Rule.to_string()