Language Support For Loosely Consistent Distributed Programming