Don't cache results of main function unless processed (neglected in previous commit).
Tell Haskell that its cheaper to recompute the data than store 40x the input text.
Found some more performance optimizations.
Use dupablePerformIO where relevant, & it doesn't incur excessive allocation.
Ensure amounts of output are dereferenced as quickly as large amounts are.
Expose exception & update metadata.
Implement more typeclasses & ensure empty input don't throw errors.
Expose HarfBuzz 3.3 APIs, attempt 2.
Documentation-compilation fixes, release v1!
Document shaping & version-number APIs!
Fix segfaults & include test assets (major refactor).
Fix segfault upon too much HarfBuzz concurrency.
Fix reentrancy complaints from GHC, attempt to fix segfault.
Add documentation & corrected type signatures.
Add, test, & fix shaping function.
Draft pure-functional Harfbuzz API.