no call to `final()` here? then maybe provide a `result()` method, but don't access internal stuff directly