definition module Sil.Check from StdOverloaded import class toString from Data.Maybe import :: Maybe from Sil.Syntax import :: Program, :: Name :: CheckError = NoMainFunction | DuplicateFunctionName Name | DuplicateLocalName Name Name | ReturnExpressionFromVoidError Name | NoReturnFromNonVoidError Name | LocalVoid Name Name instance toString CheckError checkProgram :: *(Maybe *File) Program -> *([CheckError], *Maybe *File)