@@ -355,9 +355,10 @@ entails env moduleName context = solve (sortedNubBy canonicalizeDictionary (filt
355 dictionaryValueToValue (GlobalDictionaryValue fnName) = App (Var fnName) (ObjectLiteral [])
355 dictionaryValueToValue (GlobalDictionaryValue fnName) = App (Var fnName) (ObjectLiteral [])
356 dictionaryValueToValue (DependentDictionaryValue fnName dicts) = foldl App (Var fnName) (map dictionaryValueToValue dicts)
356 dictionaryValueToValue (DependentDictionaryValue fnName dicts) = foldl App (Var fnName) (map dictionaryValueToValue dicts)
357 dictionaryValueToValue (SubclassDictionaryValue dict index) =
357 dictionaryValueToValue (SubclassDictionaryValue dict index) =
358− App (App (Var (Qualified (Just (ModuleName [ProperName C.prelude])) (Ident (C.!!))))
358+ App (App (App (Var (Qualified (Just (ModuleName [ProperName C.prelude])) (Ident (C.!!))))
359− (Accessor C.__superclasses (dictionaryValueToValue dict)))
359+ (Accessor C.__superclasses (dictionaryValueToValue dict)))
360− (NumericLiteral (Left index))
360+ (NumericLiteral (Left index)))
361 -- Ensure that a substitution is valid
362 -- Ensure that a substitution is valid
362 verifySubstitution :: [(String, Type)] -> Maybe [(String, Type)]
363 verifySubstitution :: [(String, Type)] -> Maybe [(String, Type)]
363 verifySubstitution subst = do
364 verifySubstitution subst = do
@@ -383,6 +384,7 @@ entails env moduleName context = solve (sortedNubBy canonicalizeDictionary (filt
384 simple -> simple
385 simple -> simple
385 isSimpleDictionaryValue SubclassDictionaryValue{} = False
386 isSimpleDictionaryValue SubclassDictionaryValue{} = False
387+ isSimpleDictionaryValue (DependentDictionaryValue _ ds) = all isSimpleDictionaryValue ds
386 isSimpleDictionaryValue _ = True
388 isSimpleDictionaryValue _ = True