Having to write boilerplate code is a sign that libraries are just not up to the level they should be. That can be solved the regular old way.