public function startOf($unit, ...$params)
    {
        $ucfUnit = ucfirst(static::singularUnit($unit));
        $method = "startOf$ucfUnit";
        if (!method_exists($this, $method)) {
            throw new InvalidArgumentException("Unknown unit '$unit'");
        }

        return $this->$method(...$params);
    }