This logic could be consolidated to avoid repeating the same conditionals twice. Just check both ``max_num`` and ``absolute_max`` independently for ``None`` and set default as needed, then once they are both set, check that ``absolute_max > max_num``. The minor difference in error message here doesn't justify all the repeated logic, IMO; a simple "absolute_max must be greater than max_num" is fine.