 ///     print(descriptions[AnyHashable(Set(["a", "b"]))]!) // prints "a set of strings"
 @_fixed_layout // FIXME(sil-serialize-all)
 public struct AnyHashable {
-  @usableFromInline // FIXME(sil-serialize-all)
   internal var _box: _AnyHashableBox
 
-  @inlinable // FIXME(sil-serialize-all)
   internal init(_box box: _AnyHashableBox) {
     self._box = box
   }

    return nil
  }

  @inlinable // FIXME(sil-serialize-all)
  internal var _hashValue: Int {
    return _baseHashable.hashValue
  }

  @inlinable // FIXME(sil-serialize-all)
  func _hash(into hasher: inout Hasher) {
    _baseHashable.hash(into: &hasher)
  }

  @inlinable // FIXME(sil-serialize-all)
  func _rawHashValue(_seed: Int) -> Int {
    return _baseHashable._rawHashValue(seed: _seed)
  }

  @inlinable // FIXME(sil-serialize-all)
  internal var _base: Any {
    return _baseHashable
  }

  @inlinable // FIXME(sil-serialize-all)
  internal
  func _downCastConditional<T>(into result: UnsafeMutablePointer<T>) -> Bool {
    guard let value = _baseHashable as? T else { return false }

  }
}

internal struct _ConcreteHashableBox<Base : Hashable> : _AnyHashableBox {
  internal var _baseHashable: Base

  internal init(_ base: Base) {
    self._baseHashable = base
  }

  internal func _unbox<T : Hashable>() -> T? {
    return (self as _AnyHashableBox as? _ConcreteHashableBox<T>)?._baseHashable
  }

  internal func _isEqual(to rhs: _AnyHashableBox) -> Bool? {
    if let rhs: Base = rhs._unbox() {
      return _baseHashable == rhs
