This is a pretty "thin" layer of syntactic sugar.  There is a tradeoff between lots of convenient functions and the complexity of going through all of those functions (see the scala `ArrayOps`).  Do we want to keep these or should we explain how this might be accomplished in better documentation of `subgraph`?