Applied late static bindings to static Hal methods
Applied late static bindings to static Hal methods

This is so that classes extending Hal can create Hal objects of its own type.
blongden/hal,solvire/hal