I think it's done. Test wrote, code refactored, method ShortenParameterType() added. Check it later and create PR.