Yes, it is poor practice. From the perspective of performance optimization in .NET, boxing hits performance and reflection _really_ hits performance. Like others have pointed out, if you want code ...
The object-oriented paradigm popularized by languages including Java and C++ has slowly given way to a functional programming approach that is advocated by popular Python libraries and JavaScript ...