You should be able to ditch geom and call gh.getArea 'directly'.  The lazy val seems like it'll just duplicate the geometry and/or hold additional unneeded references.