perhaps call this `fn_name` rather than `name`, just to make it clearer? I found the assertion confusing.