This reverts commit b95f3889bb. This is WIP and does not compile right now. See branch `review`.
b95f3889bb