Not sure how, this is for the case when I receive something like
<bind></bind>
with no <resource>text</resource> inside it
I accept the consequences of their unstability, but they are just too concise in comparison to manually defined state machines. Other parsers already use generators, so it's probably a good idea…
core is not really a good module to put prefix-related types, since they are irc-specific.
it's probably okay to make it just a Str, since this is the domain of irc and it doesn't have players, it has nicknames and usernames and other stuff (which probably could be wrapped into newtypes in future)
it was deliberately made non-pub, because I want to limit the creation of PlayerIds to the smart constructor PlayerId::from, which validates the format and returns the values if all is fine