public static Pattern[] Concat(Pattern[] left, Pattern right) { Pattern[] concatArr = new Pattern[left.Length + 1]; left.CopyTo(concatArr, 0); concatArr[left.Length] = right; return concatArr; }
public static Pattern[] Concat(Pattern left, Pattern[] right) { Pattern[] concatArr = new Pattern[1 + right.Length]; concatArr[0] = left; right.CopyTo(concatArr, 1); return concatArr; }
public static Pattern[] Concat(Pattern[] left, Pattern[] right) { Pattern[] concatArr = new Pattern[left.Length + right.Length]; left.CopyTo(concatArr, 0); right.CopyTo(concatArr, left.Length); return concatArr; }