improve form type guesser
cleaning up guesser, adding tests. WIP