#root::derive

Singleton root/derive.vi:25

trait Singleton[Singleton, Key, Value];

deconstruct root/derive.vi:26

fn Singleton::deconstruct[Singleton, Key, Value; Singleton[Singleton, Key, Value]](composite: Singleton) -> Value;

reconstruct root/derive.vi:27

fn Singleton::reconstruct[Singleton, Key, Value; Singleton[Singleton, Key, Value]](value: Value) -> Singleton;

tuple root/derive.vi:31

impl tuple[A]: Singleton[(A,), (), A];

object root/derive.vi:41

impl object[O, K, I; Object[O, K, I, {}]]: Singleton[O, K, I];

cast_deconstruct root/derive.vi:51

impl cast_deconstruct[S, K, V; Singleton[S, K, V]]: Cast[S, V];

cast_reconstruct root/derive.vi:57

impl cast_reconstruct[S, K, V; Singleton[S, K, V]]: Cast[V, S];