Because the first fast version only worked with ids and metadata (from the biom sprint doc: "if it is a function, iterating that function over the relevant axis IDs and metadata (not values)"). Then we added a more general version that worked with values too and I just put the new argument at the end, but we didn't notice the inconsistency.