Weak consistency can improve availability and performance when replicating data across slow or intermittent connections, but is difficult to describe abstractly and precisely. We shine a spotlight on recent results in this area, in particular the use of abstract executions to specify the behavior of replicated objects or stores. Abstract executions are directed acyclic graphs of operations, ordered by visibility and arbitration. This specification approach has enabled several interesting theoretical results, including systematic investigations of the correctness and optimality of replicated data types, and has shed more light on the nature of the fundamental trade-off between availability and consistency.