The reason for the `global` split was so we can pass in something like `run:true:` to force it to be parsed as `{ :run, "true" }`, which can be matched as `[value, ""]`.

Not sure if that's super useful, but I noticed it as an example in the original issue.

If we implement the `~` prefix, could we remove the magic `run:true` => `{ :run, true }` conversion and just parse everything as a string after the `:` (so we wont need that trailing `:` feature anymore)?