@@ -355,9 +355,10 @@ entails env moduleName context = solve (sortedNubBy canonicalizeDictionary (filt
355355 dictionaryValueToValue (GlobalDictionaryValue fnName) = App (Var fnName) (ObjectLiteral [])
356356 dictionaryValueToValue (DependentDictionaryValue fnName dicts) = foldl App (Var fnName) (map dictionaryValueToValue dicts)
357357 dictionaryValueToValue (SubclassDictionaryValue dict index) =
358− App (App (Var (Qualified (Just (ModuleName [ProperName C.prelude])) (Ident (C.!!))))
359− (Accessor C.__superclasses (dictionaryValueToValue dict)))
360− (NumericLiteral (Left index))
358+ App (App (App (Var (Qualified (Just (ModuleName [ProperName C.prelude])) (Ident (C.!!))))
359+ (Accessor C.__superclasses (dictionaryValueToValue dict)))
360+ (NumericLiteral (Left index)))
361+ (ObjectLiteral [])
361362 -- Ensure that a substitution is valid
362363 verifySubstitution :: [(String, Type)] -> Maybe [(String, Type)]
363364 verifySubstitution subst = do
@@ -383,6 +384,7 @@ entails env moduleName context = solve (sortedNubBy canonicalizeDictionary (filt
383384 [] -> ds
384385 simple -> simple
385386 isSimpleDictionaryValue SubclassDictionaryValue{} = False
387+ isSimpleDictionaryValue (DependentDictionaryValue _ ds) = all isSimpleDictionaryValue ds
386388 isSimpleDictionaryValue _ = True
387389
388390-- |