<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 3, 2016 at 7:58 AM, MarLinn via Haskell-Cafe <span dir="ltr"><<a href="mailto:haskell-cafe@haskell.org" target="_blank">haskell-cafe@haskell.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><i>If all carts behave the same and contents don't matter</i>
          just store <i>PlainBasket</i>s, i.e. a <i>Basket</i> without
          the annotation.</blockquote><div><br></div><div>@MarLinn, Can you clarify the quoted statement.  If I were to make store PlainBaskets in the Cart, where would be annotating the Item as Changeble/Unchangable?  The way I understand this, you will have to pass their phatom type all the way from the top to the innermost field where it is required. <br><br></div><div>Would the design still hold, if we just declare Baskets of Plain types?<br><br></div><div>I appreciate your response, so far your design make sense. But, I am afraid I am not able to extend it to higher container types.<br></div></div><br><br></div></div>