I don't understand why this functionality isn't available in the arduino libraries
Once you put something in a library you add overhead errors to it. This becomes significant the smaller the time interval you measure. You can use the internal counters and interrupts but you have to roll your own tailored for your specific needs.