This library is used directly in libc.  So it cannot use most high-level facilities.  In particular, <zircon/assert.h> is not permitted because it uses printf.  It's also important to restrict the (non-hidden) symbols used to only standard C symbols and the reserved namespace (external linkage symbols starting with _).  The Zircon system call API can be used freely, but only via the _zx_ names and not the zx_ names.