-- Relationship in notation between Myers paper and this package:
-- A is a
-- N is aLength, aEnd - aStart, and so on
-- x is aIndex, aFirst, aLast, and so on
-- B is b
-- M is bLength, bEnd - bStart, and so on
-- y is bIndex, bFirst, bLast, and so on
-- Δ = N - M is negative of baDeltaLength = bLength - aLength
-- D is d
-- k is kF
-- k + Δ is kF = kR - baDeltaLength
-- V is aIndexesF or aIndexesR (see comment below about Indexes type)
-- index intervals [1, N] and [1, M] are [0, aLength) and [0, bLength)
-- starting point in forward direction (0, 0) is (-1, -1)
-- starting point in reverse direction (N + 1, M + 1) is (aLength, bLength)