pub fn apply( artifact: Option<&Artifact>, envelope: &Envelope, ) -> Result<(Artifact, Envelope)>
Stateless apply: f(artifact?, envelope) → (Artifact, Handle).
f(artifact?, envelope) → (Artifact, Handle)