I am unsure how bool is represented in memory and how it works with fns that have that are C ABI compatible. Perhaps it would be worth matching what stdbool does?