diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index 9c0c3bc..b05bcc0 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -1143,8 +1143,8 @@ AlgebraicManipulations(R, F): Exports == Implementation where
     ratDenom(x:F, l:List K):F == innerRF(x, algkernels l)
     ratDenom(x:F, y:F)        == ratDenom(x, [y])
     ratDenom(x:F, l:List F)   == ratDenom(x, [retract(y)@K for y in l]$List(K))
-    algkernels l              == select_!(has?(operator #1, ALGOP), l)
-    rootkernels l             == select_!(is?(operator #1, NTHR::SY), l)
+    algkernels l  == select_!((z1:K):Boolean +-> has?(operator z1, ALGOP), l)
+    rootkernels l == select_!((z1:K):Boolean +-> is?(operator z1, NTHR::SY), l)
 
     ratPoly x ==
       numer univariate(denom(ratDenom inv(dummy::P::F - x))::F, dummy)
@@ -1161,16 +1161,16 @@ AlgebraicManipulations(R, F): Exports == Implementation where
 
 -- all the kernels in ll must be algebraic
     innerRF(x, ll) ==
-      empty?(l := sort_!(#1 > #2, kernels x)$List(K)) or
+      empty?(l := sort_!((z1:K,z2:K):Boolean +-> z1 > z2,kernels x)$List(K)) or
         empty? setIntersection(ll, tower x) => x
       lk := empty()$List(K)
       while not member?(k := first l, ll) repeat
         lk := concat(k, lk)
         empty?(l := rest l) =>
-          return eval(x, lk, [map(innerRF(#1, ll), kk) for kk in lk])
+          return eval(x, lk, [map((z3:F):F+->innerRF(z3,ll), kk) for kk in lk])
       q := univariate(eval(x, lk,
-                 [map(innerRF(#1, ll), kk) for kk in lk]), k, minPoly k)
-      map(innerRF(#1, ll), q) (map(innerRF(#1, ll), k))
+             [map((z4:F):F+->innerRF(z4,ll),kk) for kk in lk]),k,minPoly k)
+      map((z5:F):F+->innerRF(z5, ll), q) (map((z6:F):F+->innerRF(z6, ll), k))
 
     if R has Join(OrderedSet, GcdDomain, RetractableTo Integer)
      and F has FunctionSpace(R) then
diff --git a/changelog b/changelog
index 05fb717..33ba830 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20090509 tpd src/axiom-website/patches.html 20090509.12.tpd.patch
+20090509 tpd books/bookvol10.4 ALGMANIP +-> conversion
 20090509 tpd src/axiom-website/patches.html 20090509.11.tpd.patch
 20090509 tpd books/bookvol10.3 DSMP +-> conversion
 20090509 tpd src/axiom-website/patches.html 20090509.10.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index cb668c3..086f4fc 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -1154,5 +1154,7 @@ bookvol10.3 CONTFRAC +-> conversion<br/>
 bookvol10.2 DIAGG +-> conversion<br/>
 <a href="patches/20090509.11.tpd.patch">20090509.11.tpd.patch</a>
 bookvol10.3 DSMP +-> conversion<br/>
+<a href="patches/20090509.12.tpd.patch">20090509.12.tpd.patch</a>
+bookvol10.4 ALGMANIP +-> conversion<br/>
  </body>
 </html>
