public static String[] or(String expression) {
		ArrayList se = new ArrayList(); // Subexpressions.
		int start = 0;
		int level = 0;
		for (int i = 0; i < expression.length(); i++) {
			if (expression.charAt(i) == '(')
				level++;
			if (expression.charAt(i) == ')')
				level--;
			if (expression.charAt(i) != '+')
				continue;
			if (level != 0)
				continue;
			// First level or!
			se.add(delambda(expression.substring(start, i)));
			start = i + 1;
		}
		se.add(delambda(expression.substring(start)));
		return (String[]) se.toArray(new String[0]);
	}