ftv, gen, unify (initial implementations)
work in progress