Merge "Revert "Revert "optimizing: propagate type information of arguments"""