import Preludeimport Data.Newtype (class Newtype, unwrap, wrap)setterv :: forall nt record field. Newtype nt record => (record -> field -> record) -> field -> nt -> ntsetterv fn v t = (setter (flip fn v) t)setter :: forall nt record. Newtype nt record => (record -> record) -> nt -> ntsetter fn = wrap <<< fn <<< unwrapgetter :: forall record field nt. Newtype nt record => (record -> field) -> nt -> fieldgetter fn = fn <<< unwrap