more work on fixpoint, still doesnt type check