[GCC] Ugly workaround to get GCC compiling

Apparently default non-const references are illegal, despite MSVC taking
it just fine.  So, had to create overloads instead.