   
   static var noWaitThisWay: Recipe {
     return self.init(Raw.noWaitThisWay)!
+  }
+  
+  static var recombiningBlobs: Recipe {
+    return self.init(Raw.recombiningBlobs)!
+  }
+
+  static var playingCatch: Recipe {
+    return self.init(Raw.playingCatch)!
+  }
+
+  static var pulsatingEye: Recipe {
+    return self.init(Raw.pulsatingEye)!
+  }
+
+  static var aggressivePredator: Recipe {
+    return self.init(Raw.aggressivePredator)!
+  }
+
+  static var fastWalkerAndSlowFollower: Recipe {
+    return self.init(Raw.fastWalkerAndSlowFollower)!
+  }
+
+  static var swinger: Recipe {
+    return self.init(Raw.swinger)!
+  }
+  
+  static var rotary: Recipe {
+    return self.init(Raw.rotary)!
+  }
+
+  static var weddingRing: Recipe {
+    return self.init(Raw.weddingRing)!
+  }
+  
+  static var turbulentRunner: Recipe {
+    return self.init(Raw.turbulentRunner)!
+  }
+
+  static var blobs: Recipe {
+    return self.init(Raw.blobs)!
+  }
+
+  static var linearOscillator: Recipe {
+    return self.init(Raw.linearOscillator)!
   }
 }
 

      + "60 * (262.68, 2.82, 38.32, 0.21, 0.01, 54.93, 0.11, 0.19)\n"
      + "40 * (78.58, 5.7, 33.23, 0.89, 0.18, 45.44, 0.04, 0.05)\n"
      + "40 * (257.27, 14.96, 35.66, 0.2, 0.8, 47.81, 0.13, 0.13)\n"
    }
  }
}


// MARK: - Recipe List
public extension Array where Element == GenomeInfo {
  static var definedRecipes: [(name: String, recipe: Recipe)] {
    return [
      (name: "InsurmountableWall", recipe: insurmountableWall),
      (name: "CellWithTwoNuclei", recipe: cellWithTwoNuclei),
      (name: "Multicellularity", recipe: multicellularity),
      (name: "JellyFish", recipe: jellyFish),
      (name: "NoWaitThisWay", recipe: noWaitThisWay),
      (name: "RecombiningBlobs", recipe: recombiningBlobs),
      (name: "PlayingCatch", recipe: playingCatch),
      (name: "PulsatingEye", recipe: pulsatingEye),
      (name: "AggressivePredator", recipe: aggressivePredator),
      (name: "FastWalkerAndSlowFollower", recipe: fastWalkerAndSlowFollower),
      (name: "Swinger", recipe: swinger),
      (name: "Rotary", recipe: rotary),
      (name: "WeddingRing", recipe: weddingRing),
      (name: "TurbulentRunner", recipe: turbulentRunner),
      (name: "Blobs", recipe: blobs),
      (name: "LinearOscillator", recipe: linearOscillator),
    ]
    // More recipes see: http://bingweb.binghamton.edu/~sayama/SwarmChemistry/
  }
  
  static var insurmountableWall: Recipe {
    return self.init(Raw.insurmountableWall)!
  }
