Proof: Cast to ProofOfWork for outputs
Proof::ToString()
FIXME polymorphic serialization templates