fun sum (x,m: int) returns (s: int) let s = x + m tel fun substr (x,m: int) returns (d: int; m2:int) let d = x - m; m2 = m; tel fun mean<<n: int>> (i: int^n) returns (m: int) let m = (fold (+) <<n>> (i,0)) /n tel node normalized_movie<<n: int>> (i: int^n) returns (im: int^n) var m: int; trash: int; let m = mean<<n>>(i); (im,trash) = mapfold substr <<n>> (i,m) tel