Should generally prefer using std::span over const std::vector&, and generally should use constexpr std::array instead of the const std::vector as used here. This allows the interface to be more flexible (thought the value is low here) and allows it to be more constexpr.
Brief investigation was made into spanifing other interfaces in this file; however, the usage of the specialization std::vector made that incompatible with trivial spanification