def METHOD_NAME(self, node):
    """The function definition should have type hints"""
    if node.returns is None:
        raise ClassicalFunctionParseError("return type is needed")
    scope = {"return": (node.returns.id, None), node.returns.id: ("type", None)}
    # Extend scope with the decorator's names
    scope.update({decorator.id: ("decorator", None) for decorator in node.decorator_list})
    from tweedledum.classical import LogicNetwork  # pylint: disable=import-error
    self.scopes.append(scope)
    self._network = LogicNetwork()
    self.extend_scope(node.args)
    return super().generic_visit(node)