Content Addressable Code, Distributed Systems, Type-Directed Programming