factoring letrec mess
figures with labels
start describing the typing rules for Frank