Neil Mitchell
Neil Mitchell
Note that `null` and `length` are in different classes, which looks very dodgy.
Maybe the key point about the more powerful contain is that it is indexed by some separate key?
Perhaps you are biting off more than you can chew? Having an abstraction over Vector/MVector/UVector/MUVector/List/Chunks/String is really handy, and they are all truly isomorphic. In contrast, the division you've picked...
Is Foundation going to have a Map/Set data types? If not, having types to abstract over them seems weird, since you are really just abstracting over contiguous 0..N Int indexed...
Notes from the train: ``` Indexed k v instance Indexed class Indexed c k v | c -> k v where instance Indexed (Array a) Int a where instance Indexed...
This is super weird! Let me investigate!
These bugs are quite different. Breaking down the second: ``` def foo(val: int | None, b: bool) -> int: if val is None: if b: return 1 else: return 2...
I've fixed the second issue. So no need to split it up.
The first bug is just that we create a Var, and when doing `or` short circuit stuff we forgot to expand Var. Doing that solves the issue.
Yeah, I don't love KEndo. Why the K? Why not MEndo (which I still don't love)?