Forced typecast in Currency::of() to avoid issues when passing objects castable to string