Relations expose keys; only the storage decoder supplies row proofs.
pub opaque type Has(entity)
pub opaque type Held(entity)
pub opaque type Key(entity)
多対多(中間表)。値は相手の鍵の列だけ ── 相手の中身は矢印の read で取る(20-er)。
pub opaque type Multi(entity)
pub fn from_row(row: Row) -> Has(entity)
pub fn held_from_row(row: Row) -> Held(entity)
pub fn key(raw: String) -> Key(entity)
pub fn multi_from_rows(rows: List(Row)) -> Multi(entity)
pub fn of(relation: Has(entity)) -> Key(entity)
pub fn of_held(relation: Held(entity)) -> Key(entity)
pub fn of_multi(relation: Multi(entity)) -> List(Key(entity))
pub fn to_string(key: Key(entity)) -> String