public function __construct($value) { if ($value instanceof String && $value->length() == 1) { $this->value->charAt(0); } else { if (is_string($value) && strlen($value) == 1) { $this->value = $value; } else { throw new IllegalArgumentException('Parameter must be a blaze\\lang\\String or string and may only have a length of 1'); } } }