--- /dev/null
+
+Boxed structure of BigInts
+
+
+----> Info1 Pointer
+ | Pointer passed to BigNum package
+ | |
+ \/ \/
+ Info2 Size Integer ....
+
+ (size excludes info ptr & size field)
+
+Unboxed (Compiler must place on pointer stack not data stack
+ Must also tell GC if it is in a register when GC invoked)
+
+----> Info2 Size Integer
+
+
+
+Info1:
+ SPEC_INFO_TABLE(Info1, BigNum_entry, 1, 1); (Min Size 2 ?)
+
+ Entering this returns the BigNum using agreed return convention
+
+Info2:
+ DATA_INFO_TABLE(Info2, Dummy_entry);
+
+ This never actually entered -- just required for GC.
+
+------------------------------------------------------------------------------
+
+Boxed structure of BigInts (the alternative one)
+
+ Pointer passed to BigNum package
+ |
+ \/
+----> Info Size Integer ....
+
+ (size excludes info ptr & size field)
+
+Unboxed (Compiler must place on pointer stack not data stack
+ Must also tell GC if it is in a register when GC invoked)
+
+
+Info:
+ DATA_INFO_TABLE(Info, BigNum_entry);
+
+ Entering this returns the BigNum using agreed return convention
+
+
+
+Note that the Boxed and Unboxed representation are identical !!!
+
+(unboxing represents evaluationhood, not pointerhood)