Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Views/ViewHelper.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Views/ViewHelper.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Views/ViewHelper.cs	(revision 14898)
@@ -3,15 +3,15 @@
     public static string StringifyInput(ExampleArgumentType type, Example example, string valueSeparator) {
       switch (type) {
-        case ExampleArgumentType.Integer:
-        case ExampleArgumentType.IntegerVector: return string.Join(valueSeparator, example.InputInteger);
+        case ExampleArgumentType.Integer: return string.Join(valueSeparator, example.InputInteger);
+        //case ExampleArgumentType.IntegerVector: return string.Join(valueSeparator, example.InputInteger);
 
-        case ExampleArgumentType.Float:
-        case ExampleArgumentType.FloatVector: return string.Join(valueSeparator, example.InputFloat);
+        case ExampleArgumentType.Float: return string.Join(valueSeparator, example.InputFloat);
+        //case ExampleArgumentType.FloatVector: return string.Join(valueSeparator, example.InputFloat);
 
         case ExampleArgumentType.Boolean: return string.Join(valueSeparator, example.InputBoolean);
         case ExampleArgumentType.Char: return string.Join(valueSeparator, example.InputChar);
 
-        case ExampleArgumentType.String:
-        case ExampleArgumentType.StringVector: return string.Join(valueSeparator, example.InputString);
+        case ExampleArgumentType.String: return string.Join(valueSeparator, example.InputString);
+        //case ExampleArgumentType.StringVector: return string.Join(valueSeparator, example.InputString);
         default: return string.Empty;
       }
@@ -20,15 +20,15 @@
     public static string StringifyOutput(ExampleArgumentType type, Example example, string valueSeparator) {
       switch (type) {
-        case ExampleArgumentType.Integer:
-        case ExampleArgumentType.IntegerVector: return string.Join(valueSeparator, example.OutputInteger);
+        case ExampleArgumentType.Integer: return string.Join(valueSeparator, example.OutputInteger);
+        //case ExampleArgumentType.IntegerVector: return string.Join(valueSeparator, example.OutputIntegerVector);
 
-        case ExampleArgumentType.Float:
-        case ExampleArgumentType.FloatVector: return string.Join(valueSeparator, example.OutputFloat);
+        case ExampleArgumentType.Float: return string.Join(valueSeparator, example.OutputFloat);
+        //case ExampleArgumentType.FloatVector: return string.Join(valueSeparator, example.OutputFloat);
 
         case ExampleArgumentType.Boolean: return string.Join(valueSeparator, example.OutputBoolean);
         case ExampleArgumentType.Char: return string.Join(valueSeparator, example.OutputChar);
 
-        case ExampleArgumentType.String:
-        case ExampleArgumentType.StringVector: return string.Join(valueSeparator, example.OutputString);
+        case ExampleArgumentType.String: return string.Join(valueSeparator, example.OutputString);
+        //case ExampleArgumentType.StringVector: return string.Join(valueSeparator, example.OutputString);
         default: return string.Empty;
       }
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Boolean/BooleanRandomErcValue.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Boolean/BooleanRandomErcValue.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Boolean/BooleanRandomErcValue.cs	(revision 14898)
@@ -21,4 +21,5 @@
       }
 
+      Name = "Boolean random";
       IsEnabled = isEnabled;
       Parameters.Add(new FixedValueParameter<BoolValue>(AllowTrueParameterName, new BoolValue(allowTrue)));
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Float/FloatConstantErcValue.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Float/FloatConstantErcValue.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Float/FloatConstantErcValue.cs	(revision 14898)
@@ -9,5 +9,8 @@
     public FloatConstantErcValue() : this(new double[0]) { }
 
-    public FloatConstantErcValue(params double[] constants) : base(new DoubleArray(constants)) { }
+    public FloatConstantErcValue(params double[] constants)
+      : base(new DoubleArray(constants)) {
+      Name = "Float constants";
+    }
 
     [StorableConstructor]
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Float/FloatRangeErcValue.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Float/FloatRangeErcValue.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Float/FloatRangeErcValue.cs	(revision 14898)
@@ -11,4 +11,5 @@
 
     public FloatRangeErcValue() {
+      Name = "Float range";
       this.Parameters.Add(new FixedValueParameter<DoubleRange>(RangeParameterName));
     }
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/FloatVector/FloatVectorConstantsErcValue.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/FloatVector/FloatVectorConstantsErcValue.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/FloatVector/FloatVectorConstantsErcValue.cs	(revision 14898)
@@ -8,6 +8,5 @@
   [StorableClass]
   public class FloatVectorConstantsErcValue : VectorConstantsErcValue<double, DoubleArray> {
-    public FloatVectorConstantsErcValue() {
-    }
+    public FloatVectorConstantsErcValue() : this(new double[0][]) { }
 
     public FloatVectorConstantsErcValue(params double[][] values)
@@ -17,4 +16,5 @@
     public FloatVectorConstantsErcValue(bool isEnabled, params double[][] values)
       : base(isEnabled, values.Select(v => new DoubleArray(v)).ToArray()) {
+      Name = "Float vector constants";
     }
 
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Integer/IntegerConstantErcValue.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Integer/IntegerConstantErcValue.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Integer/IntegerConstantErcValue.cs	(revision 14898)
@@ -9,5 +9,8 @@
     public IntegerConstantErcValue() : this(new int[0]) { }
 
-    public IntegerConstantErcValue(params int[] constants) : base(new IntArray(constants)) { }
+    public IntegerConstantErcValue(params int[] constants)
+      : base(new IntArray(constants)) {
+      Name = "Integer constants";
+    }
 
     [StorableConstructor]
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Integer/IntegerRangeErcValue.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Integer/IntegerRangeErcValue.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/Integer/IntegerRangeErcValue.cs	(revision 14898)
@@ -11,10 +11,11 @@
 
     public IntegerRangeErcValue() {
-      this.Parameters.Add(new FixedValueParameter<IntRange>(RangeParameterName));
+      Name = "Integer range";
+      Parameters.Add(new FixedValueParameter<IntRange>(RangeParameterName));
     }
 
     public IntegerRangeErcValue(int start, int end) : this() {
-      this.Start = start;
-      this.End = end;
+      Start = start;
+      End = end;
     }
 
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/IntegerVector/IntegerVectorConstantsErcValue.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/IntegerVector/IntegerVectorConstantsErcValue.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/IntegerVector/IntegerVectorConstantsErcValue.cs	(revision 14898)
@@ -8,13 +8,11 @@
   [StorableClass]
   public class IntegerVectorConstantsErcValue : VectorConstantsErcValue<int, IntArray> {
-    public IntegerVectorConstantsErcValue() {
-    }
+    public IntegerVectorConstantsErcValue() : this(new int[0][]) { }
 
-    public IntegerVectorConstantsErcValue(params int[][] values)
-      : this(true, values) {
-    }
+    public IntegerVectorConstantsErcValue(params int[][] values) : this(true, values) { }
 
     public IntegerVectorConstantsErcValue(bool isEnabled, params int[][] values)
       : base(isEnabled, values.Select(v => new IntArray(v)).ToArray()) {
+      Name = "Integer vector constants";
     }
 
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/String/StringConstantErcValue.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/String/StringConstantErcValue.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/String/StringConstantErcValue.cs	(revision 14898)
@@ -17,4 +17,5 @@
 
     public StringConstantErcValue(params string[] constants) {
+      Name = "String constants";
       array = new StringArray(constants);
       Parameters.Add(new FixedValueParameter<StringArray>(ConstantsParameterName, array));
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/String/StringRandomErcValue.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/String/StringRandomErcValue.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/String/StringRandomErcValue.cs	(revision 14898)
@@ -28,4 +28,5 @@
 
     public StringRandomErcValue() {
+      Name = "String random";
       Parameters.Add(new FixedValueParameter<BoolValue>(AllowLowercaseLettersParameterName, new BoolValue(true)));
       Parameters.Add(new FixedValueParameter<BoolValue>(AllowUppercaseLettersParameterName, new BoolValue(true)));
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/StringVector/StringVectorConstantsErcValue.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/StringVector/StringVectorConstantsErcValue.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/StringVector/StringVectorConstantsErcValue.cs	(revision 14898)
@@ -17,10 +17,13 @@
     private readonly StringArray[] arrays; // perf opt: avoid using parameter getter
 
+    public StringVectorConstantsErcValue() : this(false, new StringArray[0]) { }
+
     public StringVectorConstantsErcValue(params StringArray[] arrays) : this(true, arrays) { }
 
     public StringVectorConstantsErcValue(bool isEnabled, params StringArray[] arrays) {
       this.arrays = arrays;
+      Name = "String vector constants";
       IsEnabled = isEnabled;
-      Parameters.Add(new ValueParameter<ItemArray<StringArray>>(ConstantsParameterName, new ItemArray<StringArray>(arrays)));
+      Parameters.Add(new ValueParameter<ItemCollection<StringArray>>(ConstantsParameterName, new ItemCollection<StringArray>(arrays)));
     }
 
@@ -30,7 +33,7 @@
     public StringVectorConstantsErcValue(StringVectorConstantsErcValue origin, Cloner cloner) : base(origin, cloner) { }
 
-    public IValueParameter<ItemArray<StringArray>> ConstantsParameter
+    public IValueParameter<ItemCollection<StringArray>> ConstantsParameter
     {
-      get { return (IValueParameter<ItemArray<StringArray>>)Parameters[ConstantsParameterName]; }
+      get { return (IValueParameter<ItemCollection<StringArray>>)Parameters[ConstantsParameterName]; }
     }
 
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/VectorConstantsErcValue.cs
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/VectorConstantsErcValue.cs	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis.Base/Erc/VectorConstantsErcValue.cs	(revision 14898)
@@ -22,5 +22,5 @@
       this.arrays = arrays;
       IsEnabled = isEnabled;
-      Parameters.Add(new ValueParameter<ItemArray<TValue>>(ConstantsParameterName, new ItemArray<TValue>(arrays)));
+      Parameters.Add(new ValueParameter<ItemCollection<TValue>>(ConstantsParameterName, new ItemCollection<TValue>(arrays)));
     }
 
@@ -30,7 +30,7 @@
     protected VectorConstantsErcValue(VectorConstantsErcValue<T, TValue> origin, Cloner cloner) : base(origin, cloner) { }
 
-    public IValueParameter<ItemArray<TValue>> ConstantsParameter
+    public IValueParameter<ItemCollection<TValue>> ConstantsParameter
     {
-      get { return (IValueParameter<ItemArray<TValue>>)Parameters[ConstantsParameterName]; }
+      get { return (IValueParameter<ItemCollection<TValue>>)Parameters[ConstantsParameterName]; }
     }
 
Index: /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/HeuristicLab.Problems.ProgramSynthesis.csproj
===================================================================
--- /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/HeuristicLab.Problems.ProgramSynthesis.csproj	(revision 14897)
+++ /branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/HeuristicLab.Problems.ProgramSynthesis.csproj	(revision 14898)
@@ -189,5 +189,4 @@
     <Compile Include="Push\Generators\CodeGenerator\LinearCodeGenerator.cs" />
     <Compile Include="Push\Generators\CodeGenerator\RecursiveCodeGenerator.cs" />
-    <Compile Include="Push\Generators\ErcUtils.cs" />
     <Compile Include="Push\Interpreter\Extensions.cs" />
     <Compile Include="Push\Interpreter\IInternalPushInterpreter.cs" />
