If I had to nitpick, it would probably be about the chosen names:
I'm not sure about the :ref, as :weak are also about references, so someone could be surprised :ref doesn't include :weak.
:round is usually a function of its own (see POSIX) but it's not part of :round, which might again be confusing. Maybe :rounding? It's a bit longer than the rest, though...