public function prime($primer = true)
    {
        if (!is_bool($primer) && !is_callable($primer)) {
            throw new \InvalidArgumentException('$primer is not a boolean or callable');
        }

        if ($primer === false) {
            unset($this->getExpr()->qb->primers[$this->getExpression()]);

            return $this;
        }

        $this->getExpr()->qb->primers[$this->getDotSyntax()] = $primer;

        return $this;
    }