There's been a lot of excellent work in improving transactional memory implementations, and even some in beginning to precisely define the semantics of transactional memory. That's great, and we need to keep plugging at that. But we should also take a step back and figure out what we actually hope to achieve with transactional memory, and what properties transactional memory (and its implementations) must have to achieve our goals. For example (ignoring for now the lack of precise definitions for the following terms), can we efficiently implement strongly atomic linearizable unbounded transactional memory? If not, what are we willing to give up? Efficiency? Strong atomicity? Linearizability? Unboundedness? Some combination of these? And how should we decide? I think we should decide based on our goals for transactional memory, which we must therefore attempt to ennunciate clearly. I'd like to begin this attempt and present some preliminary observations and directions that these suggest to me.