By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Write down what the two scalar rules cost to find out Both were written, shipped and taken back out, and the reason is the same one twice: each was measured on this repository, where the practice it asks for was already in place, so the only sites left were the ones it was best at. Pointed at a repository that had not adopted it, HsNoAnonymousScalar wanted a suppression at forty-eight percent of its findings and HsScalarNewtypeUnused named the wrong type at three in eight. The residues are worth knowing because neither was the one predicted. HsNoAnonymousScalar's is a status or a name beside a message somebody else wrote, which is the commonest shape an error constructor has, rather than the numeric pairs the proposal expected. HsScalarNewtypeUnused's is a field holding another system's data under a name the project also uses, which no filter here separates from our own because the difference is in what the data means. The code is on origin/scalar-keeps, origin/scalar-ambiguity, origin/scalar-newtype-unused, origin/scalar-matching-words and origin/hs-no-anonymous-scalar, including the resources that were argued over line by line and are the best record of what either rule meant. Their rows are back in plan/rules.md as ratchets, with what a retry should measure first.