I wonder if we need the fail_on_unhandled bool?