PS: Beware of the comments in the attached file. This file is under
heavy development. I am dyslexic and don't correct the comments
while continuously rewriting code and comments. I hope that the comments
are useful anyway.
The (+>) (~>) (#>) operators are broken at the moment and don't work the
This may be a bug. But note that both interpretations are legitimate. One
way of applying synAttr to listLength is first to apply ?stack to
listLength, obtaining listLength' :: List -> Float and creating a
(?stack::[Dyn]) constraint on the application node, then specializing
listLength' to the type (?stack::a) => List -> Float, then passing that to
Again, I recommend that you not try to use implicit parameters.