Hypothetical reasoning is one of the best interdisciplinary tools we have for growing human knowledge, as it exercises imagination and empathy while yielding powerful abstractions. Operationalizing hypothetical reasoning (via programming languages) can therefore be used fruitfully in creative, imaginative activities. Conversely, pre-digital techniques for adding spontaneity and serendipity into creative work, based on collaborative play, have inspired digital interfaces and might be fruitfully extended to programming languages. I will illustrate how hypothetical reasoning and collaborative play pair well together as guiding principles, and using them, I will describe a unified design space of computational artifacts for programming, proving, storytelling, playing, and generating computational artifacts.