Such philosophical questions are usually asked on
softwareengineering.stackexchange.com (BTW libraries tend to be full of such downcasts for practical reasons: being liberal in what they accept, without degrading to lowest-common-denominator algorithms) —
harold 59 secs ago