     switch back {
     case .Nil: return nil
     case let .Cons(head, tail):
-      --bCount
       back = tail
       return head
     }


extension Deque {
  public mutating func prepend(with: Element) {
    ++fCount
    front = with |> front
  }
  public mutating func append(with: Element) {
    ++bCount
    back = with |> front
  }
}

    switch front {
    case .Nil: return Deque()
    case .Cons(_, let tail):
      var ret = Deque(front: tail, back: back)
      ret.check()
      return ret
    }
