I will vote for the proposal dreeves . It does not use the "built-in" function, but uses a single-line interface with functional programming and level specifications. Implementation:
gridify[pts : {{_?NumericQ, _?NumericQ} ...}] :=
Map[Line, GatherBy[pts,
source
share