///|
priv type Finalizer

///|
extern "c" fn finalizer_create(
  func : FuncRef[(() -> Unit) -> Unit],
  data : () -> Unit,
) -> Finalizer = "tonyfettes_rc_finalizer_create"

///|
fn Finalizer::new(finalizer : () -> Unit) -> Finalizer {
  finalizer_create(f => f(), finalizer)
}