[SQUASH ME] added `extern "C"` guards