-- example involving lists derivation inputs args outputs res { branch main: x fresh; (cons void nil) == x; this.res == x; }