trying to write out documentation on how to use something is as helpful as TDD in some cases for the "making you figure it out before you start".
Where TDD shines is giving you a tiny testbench to see that your implementation is heading in the correct direction before you get too far.