      coefficient of zero will be removed from the row.
      */
     func insert(other: Row, coefficient: Double) {
-        _constant += other.constant * coefficient
+        constant += other.constant * coefficient
 
         for s in other.cells.keys {
             let coeff = other.cells[s]! * coefficient


public class Row {

    private var _constant: Double
    public var constant: Double {
        get { return _constant }
        set { _constant = newValue }
    }

    private var _cells: OrderedDictionary<Symbol, Double> = [:]
    public var cells: OrderedDictionary<Symbol, Double> {
        get { return _cells }
        set { _cells = newValue }
    }

    public convenience init() {
        self.init(constant: 0)
    }

    public init(constant: Double) {
        _constant = constant
    }

    public init(_ other: Row) {
        _cells = OrderedDictionary<Symbol, Double>(other.cells)
        _constant = other.constant
    }

    /**

    func insert(symbol: Symbol, coefficient: Double) {
        var coeff = coefficient

        if let existingCoefficient = cells[symbol] {
            coeff += existingCoefficient
        }

        if coeff.isNearZero {
            cells[symbol] = nil
        } else {
            cells[symbol] = coeff
        }
    }

