@type t() :: %Muta.Original{modules: [{module(), binary()}], source: Muta.Source.t()}
@spec compile(Muta.Source.t()) :: t()
@spec reclaim(t()) :: :ok
@spec restore(t()) :: :ok