Prelude cleanup issues
- Either class has ok/err backwards for Result — The impl Either (Result e a) maps ok to the Ok case and err to Err, but either conventionally takes the left/error handler first: either : (a -> c) -> (b -> c) -> Either a b -> c -- ^left ^right
- Your Result impl has either ok err which reads as "ok handler first, err handler second" — but in walk line 78 you write either (each ...) (readDirErr path) where the first arg handles the Ok case (the list of names). So the naming is internally consistent with your usage, but reversed from the Haskell convention where the left/error case comes first.
- Either class signature — either : (a -> c) -> (b -> c) -> c is missing Self — it should probably be either : (a -> c) -> (b ->