We present an alternative method for implicit and explicit sharing in EDSL's to Oleg Kiselyov's "Implementing Explicit and Finding Implicit Sharing in Embedded DSL" that allows for DSL functions that return haskell container types (i.e. lists, tuples, etc)