header-only marshalling, no need for ./configure