public function augmentLeft(Matrix $b) : self
    {
        if ($this->m > 0 and $b->m() !== $this->m()) {
            throw new DimensionalityMismatchException('Matrix A requires'
                . " $this->m columns but Matrix B has {$b->m()}.");
        }

        $b = array_map('array_merge', $b->asArray(), $this->a);

        return self::quick($b);
    }