Data types and building blocks for building distributed systems on top of StoreMate