ekmett / bound

Combinators for manipulating locally-nameless generalized de Bruijn terms

Home Page:https://www.schoolofhaskell.com/user/edwardk/bound

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ListT instance smells funny

treeowl opened this issue · comments

ListT from transformers isn't really a monad transformer, so it seems most unlikely to be a valid Bound instance with the default definition.

So what's it will mean to have

| Weird (ListT Exp a)
| Weird (Exp [a])

Will have a AST node type "of type" a, yet having commuting multiple values (potentially none).
I don't know what's that can be useful for, but I don't see it's unlawful either.

I have no idea.