code: def peek_with_kwargs(init, args=[]):
      
      def peek(store, container, _stack=None):
          return init(\
              *[ store.peek(attr, container, _stack=_stack) for attr in args ], \
              **dict([ (attr, store.peek(attr, container, _stack=_stack)) \
                  for attr in container if attr not in args ]))
      return peek
docs: Make datatypes passing keyworded arguments to the constructor.
  
      This is a factory function; returns the actual `peek` routine.
  
      Arguments:
  
          init (callable): type constructor.
  
          args (iterable): arguments NOT to be keyworded; order does matter.
  
      Returns:
  
          callable: deserializer (`peek` routine).
  
      All the peeked attributes that are not referenced in `args` are passed to `init` as
      keyworded arguments.