#root::derive

Composite root/derive.vi:64

trait Composite[Composite, Key, Init, Rest];

deconstruct root/derive.vi:65

fn Composite::deconstruct[Composite, Key, Init, Rest; Composite[Composite, Key, Init, Rest]](composite: Composite) -> (Init, Rest);

reconstruct root/derive.vi:66

fn Composite::reconstruct[Composite, Key, Init, Rest; Composite[Composite, Key, Init, Rest]](init: Init, rest: Rest) -> Composite;

tuple root/derive.vi:70

impl tuple[C, I, R; Tuple[C, I, R]]: Composite[C, (), I, R];

object root/derive.vi:80

impl object[C, K, I, R; Object[C, K, I, R]]: Composite[C, K, I, R];

cast_deconstruct root/derive.vi:90

impl cast_deconstruct[C, K, I, R; Composite[C, K, I, R]]: Cast[C, (I, R)];

cast_reconstruct root/derive.vi:96

impl cast_reconstruct[C, K, I, R; Composite[C, K, I, R]]: Cast[(I, R), C];