Better argument type handling for SOs