@@ -1,4 +1,4 @@
1−{-# LANGUAGE ScopedTypeVariables, LambdaCase, ConstraintKinds, TypeFamilies, FlexibleContexts, MultiParamTypeClasses, FlexibleInstances, RecursiveDo, GADTs, DataKinds, RankNTypes, TemplateHaskell, FunctionalDependencies #-}
1+{-# LANGUAGE ScopedTypeVariables, LambdaCase, ConstraintKinds, TypeFamilies, FlexibleContexts, MultiParamTypeClasses, FlexibleInstances, RecursiveDo, GADTs, DataKinds, RankNTypes, TemplateHaskell #-}
22
33module Reflex.Dom.Widget.Basic where
44
@@ -651,11 +651,11 @@ emptyElWith' elementTag cfg = do
651651elDynAttrNS' :: forall t m a. MonadWidget t m => Maybe String -> String -> Dynamic t (Map String String) -> m a -> m (El t, a)
652652elDynAttrNS' mns elementTag attrs = elWith' elementTag $
653653 def & namespace .~ mns
654− & attributes .~ attrs
654+ & elConfig_attributes .~ attrs
655655
656656{-# INLINABLE elDynAttr' #-}
657657elDynAttr' :: forall t m a. MonadWidget t m => String -> Dynamic t (Map String String) -> m a -> m (El t, a)
658−elDynAttr' elementTag attrs = elWith' elementTag $ def & attributes .~ attrs
658+elDynAttr' elementTag attrs = elWith' elementTag $ def & elConfig_attributes .~ attrs
659659
660660{-# INLINABLE elAttr #-}
661661elAttr :: forall t m a. MonadWidget t m => String -> Map String String -> m a -> m a
@@ -671,7 +671,7 @@ elAttr' elementTag attrs = elWith' elementTag $ def & attributes .~ attrs
671671
672672{-# INLINABLE elDynAttr #-}
673673elDynAttr :: forall t m a. MonadWidget t m => String -> Dynamic t (Map String String) -> m a -> m a
674−elDynAttr elementTag attrs = elWith elementTag $ def & attributes .~ attrs
674+elDynAttr elementTag attrs = elWith elementTag $ def & elConfig_attributes .~ attrs
675675
676676{-# INLINABLE el #-}
677677el :: forall t m a. MonadWidget t m => String -> m a -> m a
@@ -713,10 +713,12 @@ data Link t
713713 = Link { _link_clicked :: Event t ()
714714 }
715715
716−class HasAttributes s t a b | s -> a, t -> b, s b -> t, t a -> s where
717− attributes :: Lens s t a b
716+class HasAttributes a where
717+ type Attrs a :: *
718+ attributes :: Lens' a (Attrs a)
718719
719−instance HasAttributes (ElConfig attrs) (ElConfig attrs') attrs attrs' where
720+instance HasAttributes (ElConfig attrs) where
721+ type Attrs (ElConfig attrs) = attrs
720722 attributes = elConfig_attributes
721723
722724class HasNamespace a where