Remove (~) operator from ParagraphConstruction. The tilde operator was causing compilation errors with older versions of GHC, possibly due to a conflict with the lazy pattern match syntax. It has been replaced by a pure Haskell alternative that uses function application.
Make SpanOptions a separate type.
Expose ParagraphConstruction.
Hide Rect union from public interface. The function behaves in a specific way that should not be relied on by other modules.
Use internal library to hide non-public modules.