 		return "Positive( \(self.getPositive) )"
 	}
 	
-	private static func create(blind : A) -> Positive<A> {
-		return Positive(blind)
-	}
-	
 	public static var arbitrary : Gen<Positive<A>> {
-		return A.arbitrary.fmap({ Positive.create(abs($0)) }).suchThat({ $0.getPositive > 0 })
+		return A.arbitrary.fmap(Positive.init • abs).suchThat { $0.getPositive > 0 }
 	}
 	
 	public static func shrink(bl : Positive<A>) -> [Positive<A>] {
-		return A.shrink(bl.getPositive).filter({ $0 > 0 }).map({ Positive($0) })
+		return A.shrink(bl.getPositive).filter({ $0 > 0 }).map(Positive.init)
 	}
 }
 

	
	public var description : String {
		return "\(self.getSet)"
	}
	
	private static func create(set : Set<A>) -> SetOf<A>{
		return SetOf(set)
	}
	
	public static var arbitrary : Gen<SetOf<A>> {

		return "\(self.getArray)"
	}
	
	public static var arbitrary : Gen<ArrayOf<A>> {
		return ArrayOf.init <^> Array<A>.arbitrary
	}
	
	public static func shrink(bl : ArrayOf<A>) -> [ArrayOf<A>] {
