`util::Result<std::unique_ptr<...>>` treats a nullptr as a `true` value. This has caused at least one bug so far. Can we easily forbid passing nullptr in this way? Is there a better/safer solution?