Better typing for form models