basics of fixpoint
a little more fixpoint