let null_poly = function () -> P (empty_list ())