AK
Size: a a a
AK
AK
AK
AP
type SelectedKey = ... -- этот тип нельзя сконструировать
type RestKey = ... -- а этот - можно
type Cart = Cart { selected : SelectedKey, rest : Dict RestKey v}
select
: RestKey
-> Dict RestKey v
-> (SelectedKey, v, Dict RestKey v)
Cart
можно будет не прятатьAP
AK
AP
AP
AP
select
: Int -- это внешний ключ
-> Dict RestKey v
-> (SelectedKey, v, Dict RestKey v)
AK
AK
type Cart = Cart { selected : ( SelectedKey, v ) , rest : Dict SelectedKey v}
AP
AP
AP
AP
AP
AP
RestKey -> smth
), то никаких проблем!AK