Still not sure if strings are better than coderefs here. I thought strings could speed it up a bit as we avoid function calls, but the benchmark didn't show anything better than coderefs injected in the symbol table by make_(de)serializer. Maybe we should go back to coderefs as passing code strings from the subclasses is awkward, dangerous and not caught at compile time.