[forms] [refactor] recursion working, all tests passing. remaining tasks for forms tests are in the test file as TODO's.