From 30698cc534164368d816e9a43d1115a7904418bf Mon Sep 17 00:00:00 2001
From: Jeremy Hughes <jedahu@gmail.com>
Date: Wed, 15 Jul 2009 16:40:41 +1200
Subject: [PATCH] alien.marshall.types: robustifying

---
 extra/alien/inline/types/types.factor | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/extra/alien/inline/types/types.factor b/extra/alien/inline/types/types.factor
index bf0a7936ba..b90bde1850 100644
--- a/extra/alien/inline/types/types.factor
+++ b/extra/alien/inline/types/types.factor
@@ -31,12 +31,13 @@ MEMO: resolved-primitives ( -- seq )
     ] [ 2drop f ] recover ;
 
 : pointer? ( type -- ? )
-    [ "*" tail? ] [ "&" tail? ] bi or ;
+    factorize-type [ "*" tail? ] [ "&" tail? ] bi or ;
 
 : type-sans-pointer ( type -- type' )
-    [ '[ _ = ] "*&" swap any? ] trim-tail ;
+    factorize-type [ '[ _ = ] "*&" swap any? ] trim-tail ;
 
 : pointer-to-primitive? ( type -- ? )
+    factorize-type
     { [ pointer? ] [ type-sans-pointer primitive-type? ] } 1&& ;
 
 : types-effect>params-return ( types effect -- params return )