code: def _process_keys(left, right):
      """
      Helper function to compose cycler keys
  
      Parameters
      ----------
      left, right : iterable of dictionaries or None
          The cyclers to be composed
      Returns
      -------
      keys : set
          The keys in the composition of the two cyclers
      """
      l_peek = next(iter(left)) if left is not None else {}
      r_peek = next(iter(right)) if right is not None else {}
      l_key = set(l_peek.keys())
      r_key = set(r_peek.keys())
      if l_key & r_key:
          raise ValueError("Can not compose overlapping cycles")
      return l_key | r_key
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import six
  from itertools import product, cycle
  from six.moves import zip, reduce
  from operator import mul, add
  import copy
label_desc: Use image node_id 1 for calling a global function with example usage: _process_keys(left, right) and returns: unknown