ddb46181

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Read a Maybe of a primitive, and not a collection of one

A collection of a thing has a different character from the thing: a reader of
a list has been told that there are several, which is something, and the name
it wants goes on the element rather than on the field. A Maybe holds at most
one, so a field holding one is as anonymous as a field holding the thing, and
the newtype that fixes it goes inside.

[Char] stays, because it is String spelled out and a primitive read under one
spelling and not the other would be a way around the rule that nothing else
closes.

Which containers are transparent leaves Facts.Primitive with this, because the
two rules that share its list of primitives want different answers and both are
right: one asks whether a field holds an anonymous primitive, where a
collection is not the thing, and the other asks where a newtype would go, where
it goes inside the collection. The shared module says so and each rule answers
for itself.

What this costs is the shape of all three sites the rule found in this
repository, each of which held its only primitive as a list. They have their
types now, and the rule will not ask for the next one.
e2e-added-rule-is-rune2e-artifacts-are-reade2e-choices-are-found-beside-the-repositorye2e-cleane2e-dirty-package-is-judged-failinge2e-dirty-project-is-judged-failinge2e-dirty-report-is-readablee2e-disabled-rule-is-not-rune2e-incomplete-artifacts-are-a-failuree2e-judging-nothing-failse2e-named-packages-are-every-packagee2e-no-packages-is-judged-failinge2e-no-store-paths-in-findingse2e-paths-are-repository-relativee2e-withheld-facts-faile2e-wrong-source-mapping-is-a-complainthlint-checkhopinionpre-commitreleaseshellweeder-checkconfiguredevShelldefaultx86_64-linux