This wraps the underlying error with optional position information and provides a way to test if the error was due to a conflict. At the moment, details about the conflict are not exposed outside of the message string.
Text fragment application is implemented but untested and with several TODOs, binary fragment application is unimplemented and will panic.