JavaScript Type Definition and Typed Function DSLs