add enable_if guards to static check constraints and allow || to be used for chars and parsers