+ """
+ Args:
+ amount: the initial monetary amount to be represented; can be a
+ Money, int, float, Decimal, str, etc...
+ currency: if provided, indicates what currency this amount is
+ units of and guards against operations such as attempting
+ to aggregate Money instances with non-matching currencies
+ directly.
+ strict_mode: if True, disallows comparison or arithmetic operations
+ between Money instances and any non-Money types (e.g. literal
+ numbers).
+ """