Abstracts the approach taken to join the two matrices
This is the enrichment pattern on Mappable[T] for converting to Matrix types
Matrix class - represents an infinite (hopefully sparse) matrix.
Serve as a repo for self-contained combinatorial functions with no dependencies such as combinations, aka n choose k, nCk permutations , aka nPk subset sum : numbers that add up to a finite sum weightedSum: For weights (a,b,c, .
TODO: Muliplication is the expensive stuff.
Allows us to sort matrices by approximate type