Pull this out from SML/NJ library