public function same($value = 0, $prec = null)
  {
    if($value instanceof $this && $value->prec == $this->prec && ($prec === null || $value->prec == $prec))
    {
      return $value;
    }
    $class = get_class($this);
    return new $class($value, $prec);
  }