completed datatype_bindings.sml