Functional Testing And Types