class_docstr: Wrap a value (int or dict with int keys), so that the computation on it can be replayed.
  It builds a binary tree. If ``value`` is not None, it's a leaf node.
  Otherwise, it has left sub-tree and right sub-tree and an operation.
  
  Only support basic arithmetic operations: ``+``, ``-``, ``*``, ``//``.
code: def __rmul__(self, other: Any) -> "MaybeWeighted":
      return MaybeWeighted(lhs=other, rhs=self, operation=operator.mul)
  
imports: from __future__ import annotations
  import operator
  from typing import Callable, Iterator, TypeVar, Any, Optional, Tuple, Union, List, Dict, Generic, cast
  import numpy
  import torch
label_desc: Use image node_id 10 for calling the MaybeWeighted obj's underlying member method code with example usage: obj.__rmul__(other) and returns: MaybeWeighted