nodes: 0, module; 1, function_definition; 2, function_name:fromkeys; 3, parameters; 4, comment:# TODO : type: (Iterable, Union[Any, Callable]) -> DictWrapper; 5, comment:# https://github.com/python/mypy/issues/2254; 6, block; 7, identifier:cls; 8, identifier:iterable; 9, default_parameter; 10, expression_statement; 11, if_statement; 12, return_statement; 13, identifier:value; 14, None; 15, comment:"""Create a new d from
  
          Args:
              iterable: Iterable containing keys
              value: value to associate with each key.
              If callable, will be value[key]
  
          Returns: new DictWrapper
  
          Example:
  
              >>> from ww import d
              >>> sorted(d.fromkeys('123', value=4).items())
              [('1', 4), ('2', 4), ('3', 4)]
              >>> sorted(d.fromkeys(range(3), value=lambda e:e**2).items())
              [(0, 0), (1, 1), (2, 4)]
          """; 16, not_operator; 17, block; 18, call; 19, call; 20, return_statement; 21, identifier:cls; 22, generator_expression; 23, identifier:callable; 24, argument_list; 25, call; 26, tuple; 27, for_in_clause; 28, identifier:value; 29, identifier:cls; 30, argument_list; 31, identifier:key; 32, call; 33, identifier:key; 34, identifier:iterable; 35, call; 36, identifier:value; 37, argument_list; 38, attribute; 39, argument_list; 40, identifier:key; 41, identifier:dict; 42, identifier:fromkeys; 43, identifier:iterable; 44, identifier:value
code: def fromkeys(cls, iterable, value=None):
          # TODO : type: (Iterable, Union[Any, Callable]) -> DictWrapper
          # https://github.com/python/mypy/issues/2254
          """Create a new d from
  
          Args:
              iterable: Iterable containing keys
              value: value to associate with each key.
              If callable, will be value[key]
  
          Returns: new DictWrapper
  
          Example:
  
              >>> from ww import d
              >>> sorted(d.fromkeys('123', value=4).items())
              [('1', 4), ('2', 4), ('3', 4)]
              >>> sorted(d.fromkeys(range(3), value=lambda e:e**2).items())
              [(0, 0), (1, 1), (2, 4)]
          """
          if not callable(value):
              return cls(dict.fromkeys(iterable, value))
  
          return cls((key, value(key)) for key in iterable)