# (chibi weak)

Library for weak data structures.

#### `(make-ephemeron key value)`

Returns a new ephemeron. This ephemeron holds a weak reference to `key`, such that `value` will only be traced by the GC if `key` is referenced from an external object.

#### `(ephemeron? x)`

Returns true iff `x` is an ephemeron.

#### `(ephemeron-broken? ephemeron)`

Returns true iff `ephemeron`s `key` has been GCed.

#### `(ephemeron-key ephemeron)`

Returns `ephemeron`s `key`, or `#f` if it has been GCed.

#### `(ephemeron-value ephemeron)`

Returns `ephemeron`s `value`.