Realistically, the fact that you unwrap to get an upcast is just an implementation detail, so @TODO change to upcast Panics if Value not instance of Protocol
(&self)
source not stored for this graph (policy: none)