nodes: 0, module; 1, function_definition; 2, function_name:tcsort; 3, parameters; 4, comment:# FIXME SUCH WOW SO INEFFICIENT O_O; 5, block; 6, identifier:item; 7, expression_statement; 8, return_statement; 9, comment:""" get len of transitive closure assume type items is tree... """; 10, binary_operator:len(item[1]) + sum(tcsort(kv) for kv in item[1].items()); 11, call; 12, call; 13, identifier:len; 14, argument_list; 15, identifier:sum; 16, generator_expression; 17, subscript; 18, call; 19, for_in_clause; 20, identifier:item; 21, integer:1; 22, identifier:tcsort; 23, argument_list; 24, identifier:kv; 25, call; 26, identifier:kv; 27, attribute; 28, argument_list; 29, subscript; 30, identifier:items; 31, identifier:item; 32, integer:1
code: def tcsort(item):  # FIXME SUCH WOW SO INEFFICIENT O_O
      """ get len of transitive closure assume type items is tree... """
      return len(item[1]) + sum(tcsort(kv) for kv in item[1].items())