 generatorBoundedSizeArrays_.generate
 generatorBoundedSizeArrays_.generate
 
-//: Now that you've seen what generators can do, we'll use all we've learned to create a generator that
-//: produces email addresses.  To do this, we'll need one more operator/method notated `<*>` or `ap`.
-//: `ap` comes from [Applicative Functors](http://staff.city.ac.uk/~ross/papers/Applicative.html) and is
-//: used to "zip together" `Gen`erators of functions with `Gen`erators of of values, applying each function
-//: during the zipping phase.  That definition is a little hand-wavey and technical, so for now we'll say that
-//: `ap` works like "glue" that sticks special kinds of generators togethers.
-//:
-//: For our purposes, we will say that an email address consists of 3 parts: A local part, a hostname, and a 
-//: Top-Level Domain each separated by an `@`, and a `.` respectively.
-//:
-//: According to RFC 2822, the local part can consist of uppercase characters, lowercase letters, numbers, and
-//: certain kinds of special characters.  We already have generators for upper and lower cased letters, so all we
-//: need are special characters and a more complete number generator:
+//: Now that you've seen what generators can do, we'll use all we've learned to create a generator 
+//: that produces email addresses.  To do this, we'll need one more operator/method notated `<*>` or
+//: `ap`. `ap` comes from 
+//: [Applicative Functors](http://staff.city.ac.uk/~ross/papers/Applicative.html) and is used to 
+//: "zip together" `Gen`erators of functions with `Gen`erators of of values, applying each function 
+//: during the zipping phase.  That definition is a little hand-wavey and technical, so for now 
+//: we'll say that `ap` works like "glue" that sticks special kinds of generators togethers.
+//:
+//: For our purposes, we will say that an email address consists of 3 parts: A local part, a 
+//: hostname, and a Top-Level Domain each separated by an `@`, and a `.` respectively.
+//:
+//: According to RFC 2822, the local part can consist of uppercase characters, lowercase letters, 
+//: numbers, and certain kinds of special characters.  We already have generators for upper and 
+//: lower cased letters, so all we need are special characters and a more complete number generator:
 
 let numeric : Gen<Character> = Gen<Character>.fromElementsIn("0"..."9")
 let special : Gen<Character> = Gen<Character>.fromElementsOf(["!", "#", "$", "%", "&", "'", "*", "+", "-", "/", "=", "?", "^", "_", "`", "{", "|", "}", "~", "."])

onlyFive.generate
onlyFive.generate

// `Gen.fromElementsIn` constructs a generator that pulls values from inside the 
// bounds of the given Range.  Because generation is random, some values may be repeated.
let fromOnetoFive = Gen<Int>.fromElementsIn(1...5)

fromOnetoFive.generate

//     }
// }
//
//: But this doesn't work!  Swift won't let us extend `NSDate` directly because we use `Gen<Self>` 
//: in the wrong position.  What to do?
//:
//: Let's write a wrapper!

