Skip to content

[Repo Assist] Export SetProperties from Data.Type.Set and improve its documentation#44

Draft
github-actions[bot] wants to merge 1 commit intomainfrom
repo-assist/improve-export-set-properties-512e30a44d2fe7c8
Draft

[Repo Assist] Export SetProperties from Data.Type.Set and improve its documentation#44
github-actions[bot] wants to merge 1 commit intomainfrom
repo-assist/improve-export-set-properties-512e30a44d2fe7c8

Conversation

@github-actions
Copy link
Copy Markdown

@github-actions github-actions Bot commented Mar 2, 2026

🤖 This is a draft PR created by Repo Assist, an automated AI assistant.

Summary

SetProperties was already defined in Data.Type.Set but was not included in the module's export list, making it completely inaccessible to library users. This PR exports it and improves its Haddock comment.

Changes

  • Export SetProperties from Data.Type.Set (added to the module export list).
  • Improve the Haddock docstring: fixed a typo ("someties" → "sometimes") and expanded the description so users understand what the constraint alias provides and when to use it.

Motivation

SetProperties f bundles common set-theoretic identity constraints:

  • Union f '[] ~ f / Union '[] f ~ f (identity laws for union with the empty set)
  • Union f f ~ f (idempotency)
  • Corresponding Split and Unionable witnesses (which in turn provide Sortable and Nubable witnesses)

This is directly useful for reducing constraint boilerplate, as raised in issue #14. For example, a user can write SetProperties y instead of spelling out Unionable y '[], Sortable (y :++ '[]), and Nubable (Sort (y :++ '[])) separately.

Test Status

⚠️ Infrastructure limitation: GHC is not available in this automated environment and cannot be downloaded (network firewall), so the build and test suite could not be run. However, the change is minimal and low-risk:

  • SetProperties is already defined and in use elsewhere in the codebase.
  • This PR only adds it to the module export list and improves its docstring.
  • No logic changes were made.

Please run stack test before merging to confirm.

Relates to: #14

Generated by Repo Assist

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@040d30104520b0da5f68dc6d39592125c100bed4

Warning

⚠️ Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • downloads.haskell.org

SetProperties was defined but not exported, making it unusable by
library consumers. This constraint alias bundles common set-theoretic
identity facts (Union f '[] ~ f, Union '[] f ~ f, Union f f ~ f, plus
their Unionable/Sortable/Nubable witnesses), which helps reduce
boilerplate in function constraints.

Also improves the Haddock comment (fixed a typo and expanded the
explanation).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants