@@ -143,9 +143,9 @@ typeClassDictionaryDeclaration name args implies members =
143143
144144typeClassMemberToDictionaryAccessor :: ModuleName -> ProperName -> [String] -> Declaration -> Declaration
145145typeClassMemberToDictionaryAccessor mn name args (TypeDeclaration ident ty) =
146− ExternDeclaration TypeClassAccessorImport ident
147− (Just (JSFunction (Just $ identToJs ident) ["dict"] (JSBlock [JSReturn (JSIndexer (JSStringLiteral (identToProperty ident)) (JSVar "dict"))])))
148− (moveQuantifiersToFront (quantify (ConstrainedType [(Qualified (Just mn) name, map TypeVar args)] ty)))
146+ ValueDeclaration ident TypeClassAccessorImport [] Nothing $
147+ TypedValue False (Abs (Left $ Ident "dict") (Accessor (runIdent ident) (Var $ Qualified Nothing (Ident "dict")))) $
148+ moveQuantifiersToFront (quantify (ConstrainedType [(Qualified (Just mn) name, map TypeVar args)] ty))
149149typeClassMemberToDictionaryAccessor mn name args (PositionedDeclaration pos d) =
150150 PositionedDeclaration pos $ typeClassMemberToDictionaryAccessor mn name args d
151151typeClassMemberToDictionaryAccessor _ _ _ _ = error "Invalid declaration in type class definition"