Isn't this overkill (struct & and () operator) a simple static function would do.