# Evaluating a symbolic expression for a Graph

I'm able to do this:

```
sage: f = function('radius', nargs=1, evalf_func=Graph.radius)
sage: f(graphs.HouseGraph())
2
```

But not this:

```
sage: var('G')
sage: expr = f(G)
sage: expr.subs(G=graphs.HouseGraph())
...
TypeError: no canonical coercion from <class 'sage.graphs.graph.Graph'> to Symbolic Ring
```

What am I missing? Is it not possible to use symbolic expressions like this?

The substitution is implemented in the stricter "sense of algebra". The instance

`expr`

is namely(Python allows better ways to call a known function on a known argument, and explicit is better then implicit. Why this contorsion by subs?)