MISSING:
1) Guile does not have some types.  Need the following:
   long long, unsigned long long, intptr_t, uintptr_t, long double (glib)
2) Guile does not handle varargs ffi.  I have thoughts on this.
3) bytestructures does not support function declarations.
4) arrays as function args done yet?
5) patterns for in/out semantics; see http://www.swig.org/article_cpp.html

BROKEN:
1) struct { char *name; }  =>  (bs:struct `((name (bs:pointer int))))
                           vs  (bs:struct `((name (bs:pointer uint8))))
2) use of @193 instead of arg-0 for args			  

TODO:
1) find clean way to deal with char being byte and int
2) move enum comments to ffi.scm comments (currently removed)
3) recheck (pointer-to x) <=> (object-at y)
4) check handling of char as int and int8

NOTES:
1) need to memoize dynamic-func calls because some functions appear in
   headers but not in the libraries (obsolete, debugging?)

To compile a cairo.ffi file execute the following shell command:
  $ guild compile-ffi cairo.ffi

cairo.ffi		working : runs demo progs OK
gdbm.ffi		working ?
libgit2.ffi		working 
librsvg.ffi		working
sqlite3.ffi		working
glib.ffi		long double, varargs
gobject.ffi		works, but takes time
gio.ffi			works, but takes time

IN WORK:

