code: function checkCyclicPrototype(key) {
  	var slow = key;
  	var fast = key;
  	while (true) {
  		fast = getPrototype(fast)
  		if (!fast)
  			return false;
  		fast = getPrototype(fast)
  		if (!fast)
  			return false;
  		slow = getPrototype(slow)
  		if (slow === fast)
  			return true;
  	}
  }
docs: Cyclic Prototype Detection. (Mostly for debugging jsnap)