public function append($rule, $value)
    {
        if (isset($this->rules[$rule])) {
            $existing = $this->rules[$rule];

            // String rules are transformed into an array,
            // so they can be easily merged. Laravel's Validator
            // accepts rules as arrays or strings.
            if (! is_array($existing)) $existing = explode('|', $existing);
            if (! is_array($value)) $value = explode('|', $value);

            $this->rules[$rule] = implode('|', array_unique(array_merge($existing, $value)));
        }

        return $this;
    }