Dlaczego często umieszcza się definicje klas i typów w specjalnym module Typy zamiast umieszczać je w odpowiadającym im przestrzeni nazw?Dlaczego ma się osobny moduł dla typów?
Na przykład, weźmy Config rekord z kodu źródłowego Yi. Dlaczego zdecydowano, aby zdefiniować go wewnątrz Yi.Types zamiast Yi.Config?
Powiedziałbym, że często te typy mogą być wzajemnie zależne lub wymagają dużo importu. Łatwo jest po prostu zdefiniować kilka typów w module '.Types', a następnie ponownie je wyeksportować tam, gdzie ma to więcej sensu. – bheklilr
Nie sądzę, że jest to "oparte głównie na opiniach", ponieważ jest wynikiem technicznych ograniczeń GHC. –