Quite convoluted. See [my comments regarding OpenRuth](https://github.com/ding2/openruth/pull/2#discussion_r4377349).