ulidtko
10.02.2012 02:29 уважением
cellAt tree point = rec (rootbox tree) (root tree)
where
rec :: (NodeStorage s) => Box2 → NodeID → s (Maybe NodeID)
rec box nid = [...] zipWithM rec [b1, b2, b3, b4] [q1, q2, q3, q4] >>= (return . msum)
Как-то мне всё ещё очень сложно изолировать существенный код от монадического бойлерплейта :\
inb4: нужно больше катаморфизмов.