We use a char because that's what the algo is prepared to use. Dealing with multibyte chars here would make the code more complex without giving us that much (although it would be hilarious to see emoji used as comments).

The reason I'm making the user pass in the comment char is because the user is the only one who knows which char that is. The default is '#', but that's only true sometimes, and even git nowadays won't necessarily hold to it, but will try to use a char it doesn't find in the message when copying a message (e.g. `--amend`).

I did think about letting you use `NUL` to specify a default, but this is a pure function, without knowledge of the repository, and starting to take in a repo just for this seemed more awkward than having the user tell us what char they used, since the user generated the message template and thus *must* know what the char is.