
On Thu, Nov 23, 2023 at 10:27:39AM +1030, Darryn wrote:
I think a simple redefinition of "Formable" takes care of the described obstacle. Do you have other requirements that make it impractical?
Hi Viktor. Thanks again for taking a look at this and giving me advice. I hadn't thought of the problem like this, using kind representation.
I hope that I didn't give the impression that the use of import Data.Kind (Type) was an essential (or even required) part of the suggested alternative. It is was rather just pedantic precision. The "kind annotation" in type Aof b :: Type is entirely optional, the actual change was to define how "a" depends on "b", rather than how "b" depends on a. This is because extracting: (S a) -> a (W a) -> a is just simple pattern matching, while divining with of (S a) or (W a) to associate with "a" is hopelessly ambiguous. -- Viktor.