         if indices.count != shape.count {
             fatalError("Array indices don't match array shape")
         }
-
+        
         // Next, we check to see if all the indices are between 0 and the count of their demension:
         for (index, count) in zip(indices, shape) {
             if index < 0 || index >= count {


// MARK: - Private Helpers

// BUG: Doesn't do full shape compression. Any 1's are a failure.
private func makeShape(initialShape: [Int], viewIndices: [ArrayIndex]) -> [Int]? {
    // Check for correct number of indicies
    guard initialShape.count == viewIndices.count else { return nil }

    // Bounds check indicies
    guard pairs.map({$1.isInbounds($0)}).filter({$0 == false}).isEmpty else { return nil }
    
    let shape = pairs.map { (initialBound, index) -> Int in
        switch index {
        case .All:
            return initialBound
        case .SingleValue:
            return 1
        case .List(let list):
            return list.count
        case .Range(let low, let high):
