def METHOD_NAME(
    self, tree: cst.CSTNode, env: SymbolTable, metadata: MutableMapping
) -> PASS_ARGS_T:
    # prefix used for temporaries
    prefix = gen_free_prefix(tree, env)
    tree = tree.visit(_ToCombinationalRewriter(
        prefix, self.wire_map, env
    ))
    # Return targets for wiring and assignments
    return_values = list(self.wire_map.values())
    elts = [cst.Name(value) for value in return_values]
    retval = (cst.Tuple([cst.Element(e) for e in elts])
              if len(elts) > 1 else elts[0])
    tree = tree.with_changes(
        body=tree.body.with_changes(
            body=tree.body.body + (
                cst.SimpleStatementLine([cst.Return(retval)]),
            )
        )
    )
    return tree, env, metadata