Why does passing a TCP socket (server handle) between a Node parent and child over child_process IPC require the special 'sendHandle' path rather than just JSON-serializing the socket object?child.send('socket', socket);