Hi, first of all thanks for all your effort porting this.
I was following the Monad challenges and found out that the exercise 2.2
-- Implement all this for our own Maybe
headMay :: forall a. Array a ->Maybe a
tailMay::foralla. Arraya->Maybe (Arraya)
lookupMay::forallab. Eqa=>a->Array (Tupleab) ->MaybebdivMay::foralla. Eqa=>EuclideanRinga=>a->a->MaybeamaximumMay::foralla. Orda=>Arraya->MaybeaminimumMay::foralla. Orda=>Arraya->Maybea
gets quite complex at least if we want to use only the re-exports from MCPrelude. For example, for headMay, we may need uncons from Data.Array or head from Data.Array.Partial or implement all this functions for Data.List instead of Data.Array. Neither from the previously mentioned are re-exported by MCPrelude.
Please let me know how can I help or which approach should I take when following the Monad Challenges.