class_docstr: Composable cycles
  
  This class has compositions methods:
  
  ``+``
    for 'inner' products (zip)
  
  ``+=``
    in-place ``+``
  
  ``*``
    for outer products (`itertools.product`) and integer multiplication
  
  ``*=``
    in-place ``*``
  
  and supports basic slicing via ``[]``
  
  Parameters
  ----------
  left : Cycler or None
      The 'left' cycler
  
  right : Cycler or None
      The 'right' cycler
  
  op : func or None
      Function which composes the 'left' and 'right' cyclers.
class_docstr_tok: ["Composable","cycles","This","class","has","compositions","methods",":","``","+","``","for","'inner","'","products","(","zip",")","``","+=","``","in-place","``","+","``","``","*","``","for","outer","products","(","`","itertools.product","`",")","and","integer","multiplication","``","*","=","``","in-place","``","*","``","and","supports","basic","slicing","via","``","[","]","``","Parameters","--","--","--","--","--","left",":","Cycler","or","None","The","'left","'","cycler","right",":","Cycler","or","None","The","'right","'","cycler","op",":","func","or","None","Function","which","composes","the","'left","'","and","'right","'","cyclers","."]
code: def __iter__(self):
      if self._right is None:
          return iter(dict(l) for l in self._left)
  
      return self._compose()
  
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 9 for calling the Cycler obj's underlying member method code with example usage: obj.__iter__() and returns: self, iter