code: def discard_defaults(self, *args):
          '''
          cplan.discard_defaults(a, b...) yields a new caclulation plan identical to cplan except 
          without default values for any of the given parameter names.
          '''
          # make a copy of this object's nodes with translations...
          nodes = ps.pmap({k:v.discard_defaults(*args) for (k,v) in six.iteritems(self.nodes)})
          # make a new plan with that!
          return Plan(nodesf discard_defaults(self, *args):
          '''
          cplan.discard_defaults(a, b...) yields a new caclulation plan identical to cplan except 
          without default values for any of the given parameter names.
          '''
          # make a copy of this object's nodes with translations...
          nodes = ps.pmap({k:v.discard_defaults(*args) for (k,v) in six.iteritems(self.nodes)})
          # make a new plan with that!
          return Plan(nodes)
docs: cplan.discard_defaults(a, b...) yields a new caclulation plan identical to cplan except 
          without default values for any of the given parameter names.