definition module sem import qualified Data.Map as Map from Data.Either import :: Either from AST import :: AST, :: Pos, :: Type, :: FieldSelector, :: Op2 from StdOverloaded import class toString :: SemError :: Gamma :: SemOutput :== Either [SemError] (AST, Gamma) :: Constraints :== [(Type, Type)] instance toString SemError instance toString Gamma sem :: AST -> Either [SemError] (AST, Gamma)