A complexity: External node id type inherently coupled with regexp for reading vertex line, and "lines.next.trim.toInt" call for reading edge lines, in AdjacencyListGraphReader. E.g. current code would fail to parse a graph with any non-digit string node id. My preference: for simplicity, fix external node id type as String with no whitespace allowed. Overhead (of String beyond Int) unlikely to matter, and clients aren't forced to specify data type of external node ids.