make cons.head a value instead of a function