Use GADTs for static guarantee you use right type of post data.