Summary: I did this wrong in the first version, because `extern "C"` doesn't imply it's extern when used directly.