refactoring TypeCheckPolicy
renaming MethodDecl with FuncDecl