Haskell is a great language for writing and supporting embedded Domain Specific Languages (DSLs). Some form of observable sharing is often a critical capability for allowing so-called deep DSLs to be compiled and processed. In this paper, we describe and explore uses of an IO function for reification which allows direct observation of sharing. Categories and Subject Descriptors D.3.3 [Programming Languages]: Language Constructs and Features—Data types and structures General Terms Design, Languages Keywords Observable Sharing, DSL Compilation