def infer_type(self):
        typer = compiler.typeinference.TypingContext(globals=self.get_globals())

        compiler.typeinference.infer(self.syntax_tree, context=typer)
        self.inferred_type = self.syntax_tree[0].name().type

        # XXX TODO: Should unify inferred_type with cu_type, if any
        if not self.cu_type:
            self.cu_type = self.inferred_type

        return self.inferred_type
Every Copperhead function must have a valid static type.  This
dataset/ETHPy150Open bryancatanzaro/copperhead/copperhead/runtime/cufunction.py/CuFunction.infer_type