contract GenePoolInterface {
  // signals is gene pool
  function isGenePool() public pure returns (bool);
  // breeds two parents and returns childs genes
  function breed(uint256[2] mother, uint256[2] father, uint256 seed) public view returns (uint256[2]);
  // generates (psuedo) random Pepe DNA
  function randomDNA(uint256 seed) public pure returns (uint256[2]);
}
// solhint-disable func-order
function randomDNA(uint256 seed) public pure returns (uint256[2]);
// generates (psuedo) random Pepe DNA