--- /dev/null
+import "JavaBuiltin" as Java
+import "StandardLibrary"
+import "Unification"
+
+pair :: Default a => Default b => UTag (a, b) (Unifiable a, Unifiable b)
+pair = uTag 0 (\(ua, ub) -> (extract ua, extract ub)) Java.unsafeCoerce
+
+/*triple :: Default a => Default b => Default c =>
+ UTag (a, b, c) (Unifiable a, Unifiable b, Unifiable c)*/
+triple = uTag 0 (\(ua, ub, uc) -> (extract ua, extract ub, extract uc)) Java.unsafeCoerce
+
+main :: (Integer,Integer,Integer)
+main = do
+ um1 = createUMap
+ um2 = createUMap
+ v1 = uVar
+ v2 = uVar
+ v3 = uVar
+ vX = uVar
+ putUMap um1 "a" (uCons triple (v1, v2, v3))
+ putUMap um1 "a" (uCons triple (v2, v3, v1))
+ putUMap um1 "a" (uCons triple (vX, uVar, uVar))
+ putUMap um2 "b" vX
+ putUMapC um2 "b" 12
+
+ getUMap um1 "a"
+--
+(12,12,12)
\ No newline at end of file