Converts eval-domain values into pi structured output when possible.
All the types that implement this protocol.
Returns structured output for value, or nil when no semantic renderer exists.
value
nil
@type t() :: term()
@spec to_output( term(), keyword() ) :: struct() | nil