plug more generic but accurate typehint