prohibit modification of range's underlying value
inherit matrix from vector to allow mixing new member functions in