Reverting previous revert while I investigate why it doesn't compile
anymore (see #187)