much simpler fixpoint combinator; moving lists to another file