Probably a stupid remark; but doesn't meet the following function all requirements? (same name as the corresponding function in Mathematica) coefficient_list(p,s) := block( [n:floor(hipow(p,s))], p:expand(p), map(lambda([u],coeff(p,s,u)),makelist(i,i,0,n)) )$ Wilhelm