Bsotaer refactoring

@isupeene Did some refactoring of my methods in the matrix contract class. Also commented out the tests that were failing due to expecting MiniTest Assertions. Also moved generic postcondition failure to the contracts module.
And wow I just realized I missed a letter in my last name for this branch name.
Why is `collect` necessary here?