Sure, but when default parameters are used in several places, a mistake, such as not setting things to versioned or not providing the 'value' parameter, may go unnoticed. From a security perspective these defaults are dangerous, in a library that deals with currency I would expect a compile error is much preferred