See ObjectiveCaml.