Basic graph seems to work
Stronger use of types