So given a theoretical language, if it's first-order constructs were closures that could send and receive messages and then shuffle received messages to other closures, how is that different from an object, really?