I'm a little lost in typedefs here.  The `subDeck()` method returns a `DeckConstPtr` but we create a `DeckPtr`.  Are those interchangeable?