a start at record subtyping